Private strand flush not complete错误

(2013-10-22 11:04:58)

  分类: FAQ
最近的一个报表系统数据库,总是出现checkpoint not complete错误或者Private strand flush not complete错误,具体如下:
 
Mon Oct 7 09:49:20 2013
Thread 1 cannot allocate new log, sequence 132198
Checkpoint not complete
Current log# 1 seq# 132197 mem# 0: /data/oradata/testrpt/redo01.log
Mon Oct 7 09:49:59 2013
Thread 1 advanced to log sequence 132198
Current log# 2 seq# 132198 mem# 0: /data/oradata/testrpt/redo02.log
Mon Oct 7 12:10:41 2013
Thread 1 advanced to log sequence 132199
Current log# 3 seq# 132199 mem# 0: /data/oradata/testrpt/redo03.log
Mon Oct 7 19:04:43 2013
Thread 1 cannot allocate new log, sequence 132200
Private strand flush not complete
Current log# 3 seq# 132199 mem# 0: /data/oradata/testrpt/redo03.log
Thread 1 advanced to log sequence 132200
Current log# 1 seq# 132200 mem# 0: /data/oradata/testrpt/redo01.log
 
根据check point not complete错误,决定采取增加日志文件来缓解出现频率,具体步骤如下:
sys@testrpt> select * from v$logfile;
 
sys@testrpt> set wrap off
sys@testrpt> /
rows will be truncated
 
 
GROUP# STATUS TYPE MEMBER
---------- ------- ------- -----------------------------------------------------
3 ONLINE /data/oradata/testrpt/redo03.log
2 ONLINE /data/oradata/testrpt/redo02.log
1 ONLINE /data/oradata/testrpt/redo01.log
 
sys@testrpt> select group#,bytes/1024/1024 m from v$log;
 
GROUP# M
---------- ----------
1 200
2 200
3 200
 
sys@testrpt> alter database add logfile group 4
2 '/data/oradata/testrpt/redo04.log' size 200m;
Database altered.
 
sys@testrpt> alter database add logfile group 5
2 '/data/oradata/testrpt/redo05.log' size 200m;
 
Database altered.
 
sys@testrpt> alter database add logfile group 6
2 '/data/oradata/testrpt/redo06.log' size 200m;
 
Database altered.
 
针对 Private strand flush not complete问题 Oracle 提了2个方法:
 
(1) 忽略,在使用之前,必须要等待buffer的信息flush完成。 这时候进程是会短暂的hang住。
(2) 增加db_writer_process的数据。
 
 
sys@testrpt> show parameter db_wri
 
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes integer 1
 
该参数的静态参数,需要重启数据库才能生效:
 
sys@testrpt> alter system set db_writer_processes=3;
alter system set db_writer_processes=3
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
 
因此需要采取如下方式来使其生效:
sys@testrpt> alter system set db_writer_processes=3 scope=spfile;
 
System altered.
 
sys@testrpt> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@testrpt> startup
ORACLE instance started.
 
Total System Global Area 2147483648 bytes
Fixed Size 1220432 bytes
Variable Size 285212848 bytes
Database Buffers 1845493760 bytes
Redo Buffers 15556608 bytes
Database mounted.
Database opened.
sys@testrpt> alter system register;
 
System altered.
 
sys@testrpt> show parameter db_write
 
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes integer 3
sys@testrpt> alter system switch logfile;
 
System altered.
 
sys@testrpt>
sys@testrpt> exit
 
 
以上操作完毕后,查看bdump文件夹,又出现了名称testrpt_lgwr_26081.trc 具体内容如下:
 
Media recovery not enabled or manual archival only 0x10000
*** 2013-10-07 22:49:15.914
Media recovery not enabled or manual archival only 0x10000
*** 2013-10-07 22:49:34.342
Media recovery not enabled or manual archival only 0x10000
*** 2013-10-07 22:50:00.129
Media recovery not enabled or manual archival only 0x10000
*** 2013-10-07 22:50:21.719
Media recovery not enabled or manual archival only 0x10000
 
 
针对该trace文件的该错误,ORACLE 的解释:
 
Cause
Bug 4591936
Abstract: KCCSGA_UPDATE_CKPT,KCCDEBUG_LEVEL,MEDIA RECOVERY MESSAGES ARE LOGGED AT STARTUP
Fixed In Ver: 11.0
 
Solution
 
These messages were added for debugging purpose and can be ignored.
Delete these files manually or use some job to clean up diskspace.
 
At the time of writing this note , there isn't any one-off patch to fix this issue on 10.2.
 
You can always raise a new SR requesting for a backport fix on top of 10.2 for your platform.
 
一个小BUG,至多占点磁盘空间,不会危害数据库。
 
 
 
关于strand的解释可以参考如下链接:
http://blog.csdn.net/tianlesoftware/article/details/6015400

Private strand flush not complete错误的更多相关文章

  1. 关于 Private strand flush not complete

    网友发来告警日志,原本是关于一个死锁的情形,而另外的一个问题则是从redo log buffer写出到redo log file出现了不能分配新的日志,Private strand flush not ...

  2. [20170607]再论Private Strand Flush Not Complete.txt

    [20170607]再论Private Strand Flush Not Complete.txt --//曾经跟zergduan有过讨论,链接www.itpub.net/thread-2065703 ...

  3. Private strand flush not complete

    当切换日志的时候,所有private strands的内容都会被flush到当前的日志中,然后日志切换才可以完成. strand是在oracle 10g中引入的新术语,和redo的latches相关. ...

  4. Error detected while processing function pythoncomplete#Complete: 错误解决

    python vim 环境配置好后,莫名奇妙总是出现:Error detected while processing function pythoncomplete#Complete: 恼人的错误,多 ...

  5. ORA-00020: No more process state objects available故障一例

    今天公司一大早收到通知,昨天数据库数据未生成.当时查看跑批的日志,发现平常只需运行半个小时的过程,今天整整运行了7个小时(明显存在问题),导致后续数据正常时间读取失败.为了了解起因,查看了oracle ...

  6. 11g Physical Standby配置

    一,准备   Database DB_UNIQUE_NAME Oracle Net Service Name Primary PROD PROD Physical standby PRODDG PRO ...

  7. Oracle 下马观花看redo

    ----------------------------------------- --Lerning Content :Oracle 下马观花看redo --Author :如人饮水冷暖自知 --版 ...

  8. Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题

    1.问题发现 检查客户数据库的时候发现存在大量死锁的情况 Thread advanced to log sequence (LGWR switch) Current log# mem# : /orad ...

  9. 相似进程死掉Process com.midea.mmp2 died.

    此异常查到网上有一篇不错的文章例如以下: 08:56:03,273 INFO – 运行Do func=[GetSeqNo] keyNam=[keynam];KeyVal=[PRYPAYBILSYSTR ...

随机推荐

  1. Appium===Appium+Python API(转)

    Appium+python自动化8-Appium Python API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contex ...

  2. [MySQL] 一致性读分析

    MySQL MVCC MySQL InnoDB存储引起实现的是基于多版本的并发控制协议---MVCC(Multi-Version Concurrency Control),基于锁的并发控制,Lock- ...

  3. PL/SQL 03 流程控制

    --IF语法IF condition THEN  statements;[ELSIF condition THEN  statements;][ELSE  statements;]END IF; -- ...

  4. 带你入门代理模式/SpringAop的运行机制

    SpringAop 是spring框架中最重要的一项功能之一,同时也是企业级开发记录事物日志等不可或缺的一部分,如果说你的系统需要记录用户访问接口的操作,那SpringAop是很完美的了,当然,拦截器 ...

  5. spring boot 注入 restTemplate

    转载自:http://blog.csdn.net/liuchuanhong1/article/details/54631080 package com.chhliu.springboot.restfu ...

  6. HTML5 拖拽事件

    dragstart:拖拽开始 drag: 拖拽中,会不停的触发 dragend:拖拽结束 ondraglevea:有元素离开了本元素 ondragenter:有元素进入了本元素 ondragover: ...

  7. Python实现图片转字符画

    from PIL import Image def get_char(r, g, b, alpha=256): ascii_char = '''$@B%8&WM#*oahkbdpqwmZO0Q ...

  8. python模块之os.path

    对文件路径的操作 os.path.split(p)函数返回一个路径的目录名和文件名. os.path.splitext():分离文件名与扩展名 os.path.isfile()和os.path.isd ...

  9. Selenium2+python自动化45-18种定位方法(find_elements)【转载】

    前言 江湖传言,武林中流传八种定位,其中xpath是宝刀屠龙,css是倚天剑. 除了这八种,其实还有十种定位方法,眼看就快失传了,今天小编让失传已久的定位方法重出江湖! 一.十八种定位方法 前八种是大 ...

  10. KVM(五)libvirt 介绍

    1. Libvirt 是什么 为什么需要Libvirt? Hypervisor 比如 qemu-kvm 的命令行虚拟机管理工具参数众多,难于使用. Hypervisor 种类众多,没有统一的编程接口来 ...