Redo Log Buffer之一:LGWR慢写的几个原因

Problem:
SQL> SELECT sid, event, seconds_in_wait, state
2  FROM v$session_wait
3  WHERE event = 'log buffer space%';
SID     EVENT                SECONDS_IN_WAIT    STATE
---- ----------------- --------------- -------
5     log buffer space                 110    WAITING
在视图v$session_wait里,seconds_in_wait值说明等待使用重做日志缓冲池里buffer所耗时间。

Solutions&LGWR慢写free buffer的几个原因:
一、争夺重做日志文件:磁盘I/O竞争

1. 增大buffer,重做日志人间要放在不同的、速度快的磁盘上,减小磁盘I/O的 竞争。
2. 视图v$system_event查看日志文件切换完成的次数(the number of occurrences of the Log File Switch Completion event)的情况:由日志切换引起的日志切换等待
SQL> select event, total_waits, time_waited, average_wait
  2  from v$system_event
  3  where event like 'log file switch completion%';

no rows selected

二、当LGWR需要找文件写出数据时,DBWn尚未完成检查点,因而LGWR必须等待。
1. 在报警日志文件中,显示‘CHECKPOINT NOT COMPLETE’
2. 视图v$system_event查看查看检查点未完成时,日志文件切换次数(the number of occurrences of the Log File Switch (Checkpoint Incomplete) event):由未完成的检查点引起的日志切换等待
SQL> select event, total_waits, time_waited, average_wait
  2  from v$system_event
  3  where event like 'log file switch (check %';

no rows selected
3. 查看检查点发生的频率,为 FAST_START_MTTR_TARGET设置合理的值
4. 检查重做日子组的大小和数量

三、归档进程不能写入归档重做日志文件,或者不能快速完成归档,这样LGWR就不能写。
1.查看归档设备是否写满
2.添加重做日子组
3.视图v$system_event查看需要归档时,日志切换发生的次数(the number of the occurrences of the Log File Switch (Archiving Needed) event)  
SQL> SELECT event, total_waits, time_waited, average_wait
2  FROM v$system_event
3  WHERE event like 'log file switch (arch%';

四、当前ARCn进程数不能充分处理工作量时,LGWR进程启动一个新的ARCn进程。倘若预计归档工作量很大时,如在大量数据导入时,可通过LOG_ARCHIVE_MAX_PROCESSES指定初始归档进程。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24463783/viewspace-675362/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24463783/viewspace-675362/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值