
在Oracle中,什么是Adaptive Log File Sync?
当前台进程提交事务(COMMIT)后,LGWR需要执行日志写出操作,而前台进程因此进入log file sync 等待。
在Oracle 11g之前的版本中,LGWR执行写入操作完成后,会通知前台进程,这也就是Post/Wait模式;在Oracle 11gR2中,为了优化这个过程,前台进程通知LGWR写之后,可以通过定时获取的方式来查询写出进度,这被称为Polling模式。在Oracle 11.2.0.3中,这个特性被默认开启,通过隐含参数“_use_adaptive_log_file_sync”来控制(默认值为true),这个参数的含义是:数据库可以在自适应的在Post/Wait和Polling模式间选择和切换,正是由于这个原因,带来了很多Bug,反而使得log file sync的等待异常的高。因此,如果在Oracle 11.2.0.3版本中观察到这样的特征,那么就极有可能与此特性的Bug有关。
在Post/Wait和Polling机制之间的切换,Oracle会记录到LGWR进程的trace当中,如下所示:
Log file sync switching to polling
……
Log file sync switching to post/wait
若遇到此问题,则通常将隐含参数“_use_adaptive_log_file_sync”设置为false,回归到以前的Post/Wait模式,这将会有助于问题的解决。关闭Polling模式的命令为:
alter system set "_use_adaptive_log_file_sync"=false sid='*';
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。




