在11gr2以前写日志缓冲区到文件方式是通过Post/wait方式,在11gr2开始增加了Polling的方式,在11.2.0.3以前默认还是采用Post/wait方式,
11.2.0.3开始默认是两种方式自动切换。它是通过隐含参数_use_adaptive_log_file_sync进行设置,当值为true时开启自动切换模式。
NAME VALUE ISDEFAULT ISMOD ISADJ
----------------------------- ------- --------- ---------- -----
_use_adaptive_log_file_sync TRUE TRUE FALSE FALSE
Post/wait:用户会话被动等待LGWR通知redo写入到log file完毕,这种方式响应速度比较快。
若cpu空闲时采用这种方式可以体验到更好的响应时间。
Polling:用户会话主动监测LGWR是否完成写入。这种方式比Post/wait方式响应速度慢,LGWR
不直接把完成的消息通知到很多用户会话,可以节约CPU资源。若cpu繁忙时采用这种方式可以
降低cpu资源的消耗。
在lgwr日志中可以看到切换的信息
Log file sync switching to polling
Log file sync switching to post/wait
查询当前log file sync的方式
SQL> select name,value from v$sysstat where name like 'redo sync%'
NAME VALUE
-------------------------------------------------- -----------------
redo synch time 4644
redo synch time (usec) 46422779
redo synch writes 15
redo synch long waits 7
redo synch poll writes 0
redo synch polls 0
11.2.0.3开始默认是两种方式自动切换。它是通过隐含参数_use_adaptive_log_file_sync进行设置,当值为true时开启自动切换模式。
NAME VALUE ISDEFAULT ISMOD ISADJ
----------------------------- ------- --------- ---------- -----
_use_adaptive_log_file_sync TRUE TRUE FALSE FALSE
Post/wait:用户会话被动等待LGWR通知redo写入到log file完毕,这种方式响应速度比较快。
若cpu空闲时采用这种方式可以体验到更好的响应时间。
Polling:用户会话主动监测LGWR是否完成写入。这种方式比Post/wait方式响应速度慢,LGWR
不直接把完成的消息通知到很多用户会话,可以节约CPU资源。若cpu繁忙时采用这种方式可以
降低cpu资源的消耗。
在lgwr日志中可以看到切换的信息
Log file sync switching to polling
Log file sync switching to post/wait
查询当前log file sync的方式
SQL> select name,value from v$sysstat where name like 'redo sync%'
NAME VALUE
-------------------------------------------------- -----------------
redo synch time 4644
redo synch time (usec) 46422779
redo synch writes 15
redo synch long waits 7
redo synch poll writes 0
redo synch polls 0