cache buffer lru chain latch等待事件
cache buffer lru chain latch官方解釋
The cache buffer lru chain latch is acquired in order to introduce a new block into the buffer cache and when writing a buffer back to disk, specifically when trying to scan the LRU (least recently used) chain containing all the dirty blocks in the buffer cache. |
cache buffer lru chain latch可能原因
想檢視或者修改LRU+LRUW的程式,始終要持有cache buffers lru chain latch。 若在此過程中發生爭用,則要等待latch:cache buffers lru chain 事件。 總結出來如下兩種情況會導致cache buffers lru chain latch: 1.程式欲讀取還沒有裝載到記憶體上的塊時,通過查詢LRU 列分配到所需空閒緩衝區,在此過程中需要cache buffers lru chain latch。 2.DBWR 為了將髒緩衝區記錄到檔案上,查詢LRUW 列,將相應緩衝區移動到LRU 列的過程中也要獲得cache buffers lru chain latch。 2.1)DBWR在如下情況下將髒緩衝區記錄到檔案裡。 2.2)Oracle 程式為了獲得空閒緩衝區,向DBWR 請求記錄髒緩衝區時; 2.3)Oracle程式為執行Parallel Query 或Tablespace Backup,Truncate/Drop 等工作,請求記錄相關物件的髒緩衝區時; 2.4)週期性或管理上的原因檢查點(checkpointing)被執行時。 2.5)Oracle 為了保障將通過FAST_START_MTTR_TARGET(或LOG_CHECKPOINT_TIMEOUT)指定的時間的恢復,週期性執行檢查點。 2.6)管理員執行檢查點命令或根據日誌檔案切換,也會發生檢查點。 |
cache buffers lru chain latch爭用的最重要的原因是過多請求空閒緩衝區。低效的SQL語句是過多請求空閒緩衝區的最典型情況,若多個會話同時執行低效的SQL語句,則在查詢空閒緩衝區過程中和記錄髒緩衝區的過程中,為了獲取buffers lru chain latch發生爭用。多個會話同時掃描不同表或索引時,發生cache buffers lru chain latch爭用的概率高。多個會話將各不相同的塊載入到記憶體過程中,確保空閒緩衝區的請求會增多,因此發生對工作組爭用的概率將提高。特別是因為資料修改頻繁,以至於髒緩衝區數量多,正因此DBWR 因為檢查點而查詢LRUW 列的次數頻繁,所以cache buffers lru chain latch爭用將更加嚴重。cache buffers lru chain latch爭用的另一個重要特點就是伴隨著物理I/O。若是低效的索引掃描引起的問題,則同時發生db file sequential read 等待和lru chain latch爭用;若是不必要的全表掃描引起的問題,則同時發生db file scattered read 等待和lru chain latch爭用。事實上,cache buffers chains latch爭用和cache buffers lru chain latch爭用同時發生的情況較多,因為複雜的應用程式將複合地應用上述模式。data buffer過小或檢查點週期過短時,也會增加cache buffers lru chain latch爭用;但是現在的資料庫的data buffer都不會太小,而檢查點週期一般使用預設值,所以通常定位cache buffers lru chain latch的原因還是在低效的SQL語句上
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22990797/viewspace-754805/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cache Buffer Chain Latch等待事件AI事件
- 等待事件_cache_buffers_lru_chain_latch事件AI
- cache buffers LRU chain latchAI
- buffer cache與相關的latch等待事件事件
- oracle實驗記錄(buffer_cache分析(3)cbc lru chain latch)OracleAI
- cr塊和latch buffer cache chainAI
- cache buffer chain latch只讀共享?AI
- 等待模擬-cache buffer chainAI
- latch free 中 cache buffer chain 的整理AI
- buffer cache實驗5-latch:cache buffers chainAI
- cache buffer chain latch可以以只讀模式共享AI模式
- buffer cache實驗6-latch:cache buffers lru chainsAI
- cache buffers lru chainAI
- cache buffer chainAI
- latch:library cache lock等待事件事件
- ORACLE等待事件latch: cache buffers chainsOracle事件AI
- 等待事件_cache_buffers_chains_latch事件AI
- latch free(cache buffers chain)AI
- buffer cache部分原理(LRU)
- cache buffers chains vs cache buffers lru chainAI
- Latch: cache buffer chains (%)AI
- High Water Mark過高導致cache buffer chain等待嚴重AI
- oracle library cache相關的等待事件及latchOracle事件
- latch free等待事件事件
- 模擬產生CBC LATCH與buffer busy wait等待事件AI事件
- cbc latch或cache buffer chains latch系列一AI
- 關於cache_buffer_lru_chain的疑問,知道的給小弟解答一下。AI
- 【BUFFER】Oracle buffer cache之 latch 學習記錄Oracle
- 處理 latch_cache_buffers_chains等待事件一例AI事件
- Latch free等待事件(轉)事件
- latch等待事件彙總事件
- latch 相關等待事件事件
- Latch free等待事件三事件
- Latch free等待事件四事件
- Latch free等待事件二事件
- Latch free等待事件一事件
- oracle buffer cache管理機制_buffer cache dump與lru機制小記Oracle
- Latch free等待事件三(轉)事件