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. KVM基本概念

    在kvm技术中,应用到的两个东西:qemu和kvm.其中kvm负责cpu虚拟化和内存虚拟化,但是kvm不能模拟其他设备,qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上的 ...

  2. Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

    Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...

  3. cookie和session的区别与会话跟踪技术

    会话跟踪技术: HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的.非连续的.当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟 ...

  4. C++实现高斯滤波器

    在matlab中,我们经常用到高斯滤波器,生成滤波器一般都是这样的函数psf =   fspecial('gauss', GaussSize, sigma),但是在vs2010中用到的高斯滤波器不能自 ...

  5. 新版谷歌浏览器设置flash插件不提示步骤

    1.先去chrome实验室界面chrome://flags/#enable-ephemeral-flash-permission选择取消Disabled.取消该实验室选项. 2.然后去chrome:/ ...

  6. [ Python - 14 ] python进程及线程编程

    什么是进程: 简单来讲,进程就是操作系统中运行的程序或任务,进程和程序的区别在于进程是动态的,而程序是静态的.进程是操作系统资源管理的最小单位. 什么是线程: 线程是进程的一个实体,是cpu调度和分派 ...

  7. 输入法出现 footer被挤上去的问题

    /** * 修改点击input输入框时的位置 *input框获取焦点footer隐藏,失去焦点时显示 */ $('.input-footer-none').on('focus',function(){ ...

  8. Django基础之视图

    Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...

  9. [libgdx游戏开发教程]使用Libgdx进行游戏开发(8)-粒子系统

    没有美工的程序员,能够依赖的还有粒子系统. 这一章我们将使用libGDX的粒子系统线性插值以及其他的方法来增加一些特效. 你也可以使用自己编辑的粒子效果,比如这个粒子文件dust:http://fil ...

  10. python读取大文件【一行一行读取】

    with open('e:/content.txt') as f: for line in f: if '==3346628==' in line: …………