【DB笔试面试272】在Oracle中,什么是Adaptive Log File Sync?
作者:互联网
在Oracle中,什么是Adaptive Log File Sync?
A 答案如下所示:
当前台进程提交事务(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='*';
标签:Log,DB,sync,Sync,file,Oracle,Wait,Polling,log 来源: https://blog.51cto.com/lhrbest/2708289