第7 章、解釋與延遲有關的等待事件
第7 章、解釋與延遲有關的等待事件
1. Log file sync 等待事件:
l 關鍵思想:
u Log file sync 等待事件和事務的終止(提交或者回滾)有關。
u 當程式在此事件上等待太久,表明事務太短和過度的提交。
l 促使LGWR 程式寫日誌的動作有:
1) 每隔3 秒。
2) 日誌緩衝區1/3 已滿,或具有1M 的redo entry 。
3) 使用者提交。
4) 當DBWR 程式發出訊號(在記錄寫入之前,通常是由於髒資料太多,DBWR 急於寫髒資料)
l 高log file sync 等待事件出現的原因:
1) 高提交頻率
2) 緩慢的I/O 子系統
3) 過大的log buffer
2. Log buffer space 等待事件:
l 除了log buffer space 等待事件之外,Oracle 還在v$sysstat 和v$sesstat 檢視中記錄redo buffer allocation retries 統計。一般此事件是有2 種原因引起:1 、SGA 中日誌緩衝區太小;2 、LGWR 寫出日誌的速度太慢。
3. Free buffer waits 等待事件:
l 將一個塊讀入記憶體之前,Oracle 必須在Buffer cache 中找到能夠存放該塊的位置,如果沒有足夠的空間來存放,那麼就需要清理LRU 中的塊,Oracle 9i 中預設掃描40% 的LRU ,如果還沒有找到,那麼就通知DBWR 程式寫髒資料,清除足夠的位置,當DBWR 程式工作時,Oracle 會話在buffer busy wait 上等待。
l V$sysstat 中的log buffer inspected 和log buffer requested 統計資訊,記錄了Oracle 程式掃描LRU 和請求空緩衝區的次數,如果前者大於後者,則表明系統可能有不正常的情況。
l 會話在log buffer waits 上的等待可能有5 種原因:
1) 低效率的SQL 語句。
2) 不充足的DBWR 程式:
從檢視x$kcbwds 中可以檢視工作集和DBWR 程式的對應關係:select set_id,dbwr_num from x$kcbwds;
3) 緩慢的IO 子系統。
4) 延遲塊清除(delay cleanout )
Oracle DBWR 程式以各種時間間隔將已提交和未提交的塊寫入到磁碟中,在事物提交時,Oracle 對沒有寫出的塊執行提交清除,對已經寫出的塊不做處理,這些不做處理的塊,在下一次讀取時被讀取程式執行清除操作,這就是延遲塊清除。
5) 較小的緩衝儲存器
4. Write complete waits 等待事件:
l 關鍵思想:阻止Oracle 修改DBWR 程式正在寫入的塊。
l 當前臺程式想要修改被DBWR 程式標記為“正在寫入”的塊,而標記為“正在寫入”的塊是不能被修改的,直到他們被寫入磁碟並將標記清除。造成此等待事件的原因通常有:
1) 緩慢的I/O 子系統造成高DBWR 寫出時間。
2) MTTR 太短,造成頻繁的寫出操作。
3) DBWR 寫出批量尺寸太大,造成每次寫出的時間過長。
4) Oracle 8i 之前的寫出批量是4096 塊,從8i 開始預設寫批量的大小改為204 塊。
5. Log file switch completion 等待事件:
l 關鍵思想:較小的日誌檔案和大量的redo entry 造成了過多的日誌切換。
l 我們通常是保持在高峰期間每隔15~30min 切換一次日誌檔案。
6. Log file switch(checkpoint incomplete) 等待事件:
l 由於檢查點未完成,切換日誌的操作被迫等待。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24465008/viewspace-688094/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 第6 章、解釋與鎖有關的等待事件事件
- 第5 章、解釋常見的與I/O 有關的等待事件事件
- 與IO相關的等待事件troubleshooting-系列7事件
- 延遲釋出
- 與日誌有關係的幾個等待事件的解析事件
- zookeeper之watch事件延遲事件
- buffer cache與相關的latch等待事件事件
- oracle 'row cache objects' 等待事件解釋OracleObject事件
- hover事件延遲處理程式碼例項詳解事件
- 疫情延遲 題解
- 使用C++和Qt框架編寫的示例程式碼,用於解釋上述關於進入新事件迴圈、巢狀事件迴圈與延遲刪除相關的內容C++QT框架事件巢狀
- Oracle 11g 密碼延遲認證與 library cache lock 等待Oracle密碼
- 【等待事件之二】log 相關的等待事件
- 滑鼠有嚴重的拖拽感很重延遲怎麼解決
- latch 相關等待事件事件
- 等待事件相關(zt)事件
- 延遲繫結與retdlresolve
- 與IO相關的等待事件troubleshooting-系列9事件
- 與IO相關的等待事件troubleshooting-系列8事件
- 與IO相關的等待事件troubleshooting-系列6事件
- 與IO相關的等待事件troubleshooting-系列5事件
- 與IO相關的等待事件troubleshooting-系列4事件
- 與IO相關的等待事件troubleshooting-系列3事件
- 與IO相關的等待事件troubleshooting-系列2事件
- 與IO相關的等待事件troubleshooting-系列1事件
- RabbitMQ延遲訊息的延遲極限是多少?MQ
- laravel 實戰延遲解鎖Laravel
- 實時雲渲染關鍵技術-低延遲詳解
- 移動端點選事件延遲的誕生消亡史事件
- 使用pt工具檢測MySQL主從延遲(r12筆記第7天)MySql筆記
- 第 7 章 文件元素
- Dataguard主庫上與redo transport service相關的等待事件事件
- Oracle等待事件詳解Oracle事件
- 【MySQL】 效能優化之 延遲關聯MySql優化
- HTTP 請求延遲解決方案HTTP
- 【效能調整】等待事件(五)log相關等待事件
- 第19章 意外事件事件
- 《深入解析Oracle》第九章,等待事件Oracle事件