关于 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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




