ADAPTIVE LOG FILE SYNC 引起的高 Log File Sync 警示
转载链接: http://www.eygle.com/archives/2017/03/adaptive_log_file_sync.html
关于 Log File Sync 等待的优化, 在 Oracle 数据库中一直是常见问题, LOG FILE 的写出性能一旦出现波动, 该等待就可能十分突出.
在 Oracle 11.2.0.3 版本中, Oracle 将隐含参数 _use_adaptive_log_file_sync 的初始值设置为 TRUE, 由此带来了很多 Log File Sync 等待异常的情况, 这个问题虽然由来已久, 但是仍然有很多 Oracle 的用户并不知情. 所以我写下这个条目, 希望让更多的朋友可以看到.
当前台进程提交事务 (commit) 后, LGWR 需要执行日志写出操作, 而前台进程因此进入 Log File Sync 等待周期.
在以前版本中, LGWR 执行写入操作完成后, 会通知前台进程, 这也就是 Post/Wait 模式;
在 11gR2 中, 为了优化这个过程, 前台进程通知 LGWR 写之后, 可以通过定时获取的方式来查询写出进度, 这被称为 Poll 的模式, 在 11.2.0.3 中, 这个特性被默认开启.
这个参数的含义是: 数据库可以在自适应的在 post/wait 和 polling 模式间选择和切换.
_use_adaptive_log_file_sync , Adaptively switch between post/wait and polling
这是由于这个原因, 带来了很多 Bug, 反而使得 Log File Sync 的等待异常的高, 如果你在 11.2.0.3 版本中观察到这样的表征, 那就极有可能与此有关.
如果是这样, 将 _use_adaptive_log_file_sync 参数设置为 False, 回归以前的模式, 将会有助于问题的解决.
MOS 上的这些文档, 可以供您参考:
Document 1462942.1 Adaptive Switching Between Log Write Methods can Cause 'log file sync' Waits
Document 13707904.8 Bug 13707904 - LGWR sometimes uses polling, sometimes post/wait
Document 13074706.8 Bug 13074706 - Long "log file sync" waits in RAC not correlated with slow writes
来源: http://www.bubuko.com/infodetail-2477009.html