【RAC】RAC 效能分析 - 'log file sync' 等待事件
簡介
本文主要討論 RAC 資料庫中的'log file sync' 等待事件。RAC 資料庫中的'log file sync' 等待事件要比單機資料庫中的'log file sync' 等待事件複雜,主要原因是由於RAC 資料庫需要將SCN同步到所有例項。
首先,回顧一下單機資料庫中的'log file sync' 等待事件,當user session 提交(commit)時,user session會通知LGWR程式將redo buffer中的資訊寫入到redo log file,當LGWR程式完成寫操作後,LGWR再post(通知)user session 寫操作已經完成,user session 接收到LGWR的通知後提交操作才完成。因此user session 在沒有收到LGWR post(通知)之前一致處於等待狀態,具體的等待事件為'log file sync'。
在RAC資料庫中為了一致性讀,需要將Commit SCN同步/傳播到所有的節點上。SCN同步/傳播的主要方法有兩種:Lamport SCN 和 immediate commit propagation (BOC)。
介紹 immediate commit propagation (BOC)的工作原理
5. LGWR 在完成了IO 操作和LMS程式通知後,LGWR通知user session commit 成功。user session在沒有收到LGWR通知前,一直處於等待log file sync。
1. AWR
例如:AWR中log file sync 的等待時間與log file parallel write的時間基本相同,因此是由於IO問題導致的log file sync.
例如:LGWR trace檔案中報出下面的資訊,很有可能是IO慢導致的。
Warning: log write time 1000ms, size 2KB
3. OSWatcher <--- 可以幫助我們確認伺服器CPU資源使用情況
例如:下面的是OSW中vmstat 的輸出,其中runQ中的程式達到48個,表明當時CPU資源是非常緊張的,會導致LMS/LGWR不能獲得CPU 排程,導致Log file sync等待。
procs memory page faults cpu
r b w avm free re at pi po fr de sr in sy cs us sy id
48 22 0 23877753 30244459 0 0 0 0 0 0 0 153454 2184632 114234 38 60 2
48 22 0 23877753 30244094 0 0 0 0 0 0 0 153694 2181493 114887 36 61 3
注:關於OSW的安裝配置請參考BLOG中的文章:
4. Alert log
5. Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) [Document 1064487.1]
WAITEVENT: "log file sync" Reference Note (Doc ID 34592.1)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2140958/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC 資料庫中的'log file sync' 等待事件資料庫事件
- log file sync等待事件事件
- 【等待事件】log file sync事件
- log file sync" 等待事件事件
- "log file sync"等待事件-2事件
- "log file sync"等待事件-1事件
- 等待事件 log file sync 小解事件
- log file sync等待事件總結事件
- log file sync等待事件處理思路事件
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- 【WAIT】 log file sync等待事件說明AI事件
- 關於log file sync等待事件的描述事件
- Oracle之 等待事件log file sync + log file parallel write (awr優化)Oracle事件Parallel優化
- RAC全域性等待事件分析事件
- log file sync(日誌檔案同步) 與 Log file parallel write 等待事件Parallel事件
- log file sync等待事件的成因及優化方法事件優化
- Oracle 11g 遇到log file sync嚴重等待事件Oracle事件
- _use_adaptive_log_file_sync設定 降低log_file_sync等待APT
- oracle等待事件3構造一個Direct Path write等待事件和構造一個Log File Sync等待事件Oracle事件
- LOG FILE SWITCH等待事件事件
- RAC中的等待事件事件
- [20161228]奇怪log file sync等待事件.txt事件
- log file switch相關等待事件事件
- redo的等待log file sync和log file parallel write和redo size設定Parallel
- [20201204]關於等待事件Log File Sync.txt事件
- log file switch (checkpoint incomplete)等待事件事件
- 【等待事件】log file switch (checkpoint incomplete)事件
- log file sync 和 log file parallel writeParallel
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- 11g rac 等待事件resmgr:cpu quantum事件
- 【效能調整】等待事件(五)log相關等待事件
- 一個os thread startup、log file sync等待的故障回顧thread
- Oracle資料庫由dataguard備庫引起的log file sync等待Oracle資料庫
- Oracle db file parallel write 和 log file parallel write 等待事件 說明OracleParallel事件
- Oracle RAC+DG 調整redo/standby log fileOracle
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- _use_adaptive_log_file_syncAPT
- 最近遇到log file sync等待時間,測試了一下非同步提交非同步