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 writeshtml