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/