redo文件四

时间:2021-06-04 15:32:27

v$session_wait

用来查询redo buffer的空间信息

select sid,event,seconds_in_wait,state from v$session_wait where

event = 'log buffer space';

v$sysstat

redo buffer空间分配的重试次数及redo的数量

redo entries

select name,value from v$sysstat where name

in ('redo entries','redo buffer allocation retries');





v$system_event

the log file switch waits because of log switchs

select event,total_waits,time_waited,average_wait

from v$system_event where

event like 'log file switch compleciont%'

增加组数





当LGWR查找空闲可用的redo日志文件组的时候DBWn没有完成checkpoint

1、在alter日志文件中,可以找到相关“checkpoint not complete”的字样

2、select event,total_waits,time_waited,average_wait

from v$system_event where event like 'log file switch (check%';

增加redo log 组的数量或者是增大redo 日志文件的大小







当arch进程未完成归档时,会导致LGWR写入redo日志文件

1、归档日志的磁盘空间是否已经满了

2、增加redo日志组

3、select event,total_waits,time_waited,average_wait

from v$system_event where event like 'log file switch (arch%;

修改arch进程的最大数量,只要修改参数LOG_ARCHIVE_MAX_PROCESS初始化参数即可

Log File Switch-日志文件切换

  当这个等待出现时,表示所有的提交(commit)的请求都需要等待"日志文件切换"的完成。

  Log file Switch 主要包含两个子事件:

  log file switch (archiving needed)

  log file switch (checkpoint incomplete)

  log file switch (archiving needed)

  这个等待事件出现时通常是因为日志组循环写满以后,第一个日志归档尚未完成,出现该等待。出现该等待,可能表示io 存在问题。解决办法:

  可以考虑增大日志文件和增加日志组

  移动归档文件到快速磁盘

  调整log_archive_max_processes .

  log file switch (checkpoint incomplete)-日志切换(检查点未完成)

  当你的日志组都写完以后,LGWR 试图写第一个log file,如果这时数据库没有完成写出记录在第一个log file 中的dirty 块时(例如第一个检查点未完成),该等待事件出现。

  该等待事件通常表示你的DBWR 写出速度太慢或者IO 存在问题。

  为解决该问题,你可能需要考虑增加额外的DBWR 或者增加你的日志组或日志文件大小。