您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Oracle 11g 遇到log file sync嚴重等待事件該怎么辦,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
數據庫版本:11.2.0.3.0
RAC雙節點,DG一節點。
RAC節點1正常,RAC節點2出現log file sync嚴重等待事件,數據庫性能受到嚴重影響。
從AWR報告看:
DB Time很高,log file sync等待嚴重。
正常情況下log file sync的Avg wait應該是1。
問題表現是log buffer向log file寫入很慢。
排除了IO問題。
有一篇文章關于11.2.0.3的log file sync等待事件問題。
http://www.askmaclean.com/archives/bug-13551402-high-log-file-syncs-after-upgrading-from-10-2-0-5-to-11-2.html
如果 你遇到從10.2.0.5升級到11.2出現LOG FILE SYNCS等待事件顯著增長的性能問題,那么有必要讀一下這篇文章了。
在以往的經驗中如果遇到這種場景 ,那么 優先考慮設置 “_use_adaptive_log_file_sync”=false, adaptive log file sync是 11.2中提出的一個優化重做日志寫的新特性, 在11.2.0.3以后默認為TRUE。
有客戶在將”_use_adaptive_log_file_sync”=false后,log file sync等待事件的平均等待時間從10ms 下降到 1~2ms的案例。
_use_adaptive_log_file_sync造成性能下降的原因可能是其導致LGWR使用了polling 方式來取代 post/wait,并且polling的間隔是10ms,這個間隔是在代碼里寫死的。
此外如果使用了Veritas/symantec 的ODM的話也需要特別注意:你可能遇到了Bug 13551402 High “log file parallel write” and “log file sync” after upgrading 11.2 with Veritas/Symantec ODM,這個BUG已經確認在11.2.0.3和11.2.0.2上存在。
對于該bug的內部討論最后確認是由于 11.2中lgwr的 IO使用了一種批量同步I/O接口,導致當配合Veritas/symantec 的ODM一起使用時會導致性能下降。
目前該BUG已經在多個Unix/Linux平臺上提供補丁:
這里我直接修改“_use_adaptive_log_file_sync”=false
ALTER SYSTEM SET "_use_adaptive_log_file_sync"=FALSE;
SQL> SELECT ksppinm, ksppstvl, ksppdesc
2 FROM x$ksppi x, x$ksppcv y
3 WHERE x.indx = y.indx AND ksppinm like '_use_adaptive_log_file_sync';
KSPPINM
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
KSPPDESC
--------------------------------------------------------------------------------
_use_adaptive_log_file_sync
FALSE
Adaptively switch between post/wait and polling
改完后再跑一下AWR。
通過前后兩天同一時間的AWR報告做對比,log file sync等待事件消失。log file sync變成了1。
DB Time也大幅下降。
問題解決。
關于Oracle 11g 遇到log file sync嚴重等待事件該怎么辦就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。