您的位置:首页 > 其它

control file parallel write 等待事件排查

2013-10-23 10:33 281 查看
控制文件里记录了数据库的SCN信息,当前日志号,归档日志信息,备份集信息,数据文件信息等等。而这些信息,很多都是需要更新的,更新的频率视情况而定。更新当前日志号的信息,是发生日志切换的时候需要做的,更新备份集的信息是在用RMAN备份的时候需要做的。一般来说,大体有一下几种常见的情况:

 v$controlfile_record_section 视图里面记录controlfile记录的内容

1)日志文件过小,或者数据库DML操作太多,导致日志切换太过频繁。日志的切换都是需要更新控制文件的,此时的表现就是LGWR进程等待control file parallel write事件。

select *from(select
b.recid,b.first_time,a.first_time
last_time,round((a.first_time-b.first_time)*24*60,2)
minates
from v$log_historya,v$log_history b
wherea.recid=b.recid+1
orderbya.first_timedesc)whererownum<120
查看日志切换时间,确定是否是日志切换太块产生的,日志大小可以通过em 建议值参考比较

2)MTTR设置的过小,导致检查点频繁发生。我们知道控制文件里是记录SCN信息的,检查点发生的时候,是需要更新SCN的,特别是10g以后的增量检查点,当发生增量检查点的时候,会3秒更新一次控制文件中记录的RBA信息。 (查看alert日志检查点切换时间log_checkpoints_to_alert  = TRUE)

3)NOLOGGING 导致的频繁更新数据文件。

对数据文件在nologging选项下执行修改工作时,为了修改unrecoverable scn需要更新控制文件。这时,服务器进程将等待crontrol file parallel write事件。

4)i/o系统的性能缓慢时

5)采用RMAN方式进行备份,默认是采用NOCATALOG方式的。在这种情况下,LIST出来的备份信息写到了CONTROL FILE里,如果控制文件损坏,如果只能启动到NOMOUNT状态,那么备份信息就不可用。ORACLE建议我们采用CATALOG 方式

最好将控制文件放在独立的磁盘空间上。

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