您的位置:首页 > 其它

log file switch (checkpoint incomplete)等待事件

2014-05-06 10:22 756 查看
产生原因:

当系统要重新利用某个日志文件的时候,系统需要将该日志文件所包括的buffer cache 中的dirty block 写到相应的数据文件。

然后,buffer cache 中的dirty data还没有完全写到数据文件,系统的checkpoint 没有来得及完成,就已经有大量的日志需要写入到系统

系统只能通知应用:checkpoint 还没有完成,你只能等待

 

时间:今天接手一套老的测试库,系统运行缓慢,发现有大量的log file switch (checkpoint incomplete)等待事件

查看v$log视图,发现才3组redolog,每组redolog 才50m,不到1分钟就进行切换,io压力也巨大

解决办法,先在线添加了3组日志组,每组日志500M:

alter database add logfile group 4 ('/u01/app/oracle/oradata/orcl/redo04a.log','/u01/app/oracle/oradata/orcl/redo04b.log') size 500m;

.

.

然后在原来的redolog在inactive状态时,把原来的日志组给删掉

alter database drop logfile group 1;

.

.

在添加3个日志组,每组日志还是500M;

 

保证redo日志在30分钟左右可以进行切换就比较适合

 

要注意到,一般在这个等待时间多的时候,报警日志中同时会出现

Thread 1 cannot allocate new log 的错误

解决方法同上

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: