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的ept机制

    转载:http://ytliu.info/blog/2014/11/24/shi-shang-zui-xiang-xi-de-kvm-mmu-pagejie-gou-he-yong-fa-jie-xi ...

  2. vs附加到进程报MSVSMON.EXE未在远程计算机启动错误

    拿到同事电脑发现居然附加不上本地进程,网上那些关防火墙更改目标平台之类的方法都没用.最后发现是后台运行着一个叫 ss_privoxy.exe  的代理软件搞的,禁用所有非系统服务重启后删掉以绝后患.

  3. [ Openstack ] OpenStack-Mitaka 高可用之 认证服务(keystone)

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  4. ATM+购物车系统

    ATM目录 start.py import os,sys from core import src base_path=os.path.dirname(os.path.dirname(__file__ ...

  5. 使用Pygame制作微信打飞机游戏PC版

    前一阵子看了一篇文章:青少年如何使用Python开始游戏开发 .看完照葫芦画瓢写了一个,觉得挺好玩儿,相当于简单学了下Pygame库.这篇文章是个12岁小孩儿写的,国外小孩儿真心NB,想我12岁的时候 ...

  6. Zookeeper概念学习系列之zookeeper实现分布式进程监控

    不多说,直接上干货! 假设要监控多台服务器上的A程序运行状态, 当发现有服务器上的A程序下线的时候, 给管理员发短信, 并且尝试重启A程序. zookeeper实现分布式进程监控主要利用zk的临时节点 ...

  7. Mysql优化之——启用查询缓存

    启用MySQL查询缓存可以极大地减低数据库服务器的CPU使用率,实际使用情况是:开启前CPU使用率120%左右,开启后降到了10%. 查看查询缓存情况: mysql> show variable ...

  8. php必备树状数组处理方法

    thinkphp必备公共方法 /** * 子元素计数器 * @param array $array * @param int $pid * @return array */ function arra ...

  9. 详解cookie与session的区别,讲得最透彻的一篇文章

    在PHP面试中 经常碰到请阐述session与cookie的区别与联系,以及如何修改两者的有效时间. 大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于c ...

  10. hadoop学习一:hadoop安装(hadoop2.4.1,ubuntu14.04)

    1.创建用户 adduser hduser 修改hduser用户权限: sudo vim /ect/sudoers ,在文件中增加 hduser  ALL=(ALL:ALL) ALL .