cr塊和latch buffer cache chain
Cr塊和latch buffer cache chain
Cr塊consistent read 塊也就是用來維護oracle的讀一致性的資料塊。當查詢某些資料的時候,發現資料塊的版本比我們要查詢的新,例如session1執行了dml操作並沒有提交,session2此時查詢跟session1相關的dml操作的資料資訊,此時查詢的資料卻是原來的資料資訊。
查詢的過程會在undo段中查詢該資料塊的前映像後,然後把前映像和current塊合併形成了一個CR block,透過查詢cr block就可以滿足資料的一致性了。
CR block存在與sga的buffer cache中,在db cache裡申請一個資料塊,然後對應的回滾段的前映像生成cr block。
cr塊的數量是由隱含引數_db_block_max_cr_dba控制的,預設是最高同時存在5個cr塊,構造cr塊時cr block created計數器都會增加1.
由於cr block和current block的資料塊的rdba都是相同的,會放在相同的hash鏈上,當然某些block的cr block的版本過多,自然會引起hash鏈上的競爭,導致latch buffer cache chain閂競爭。
當然在利用回滾段的前映像和current block構造cr 塊時,很有可能回滾段的已經被覆蓋,也就會出現常見的ora-01555快照過舊。
一個sql語句如何去查詢資料資訊了,根據以前的latch基本記載知道獲取該資料塊的latch然後才能對該資料塊進行讀取,其實一個sql訪問資料資訊的資料塊,需要像連結一樣的結構中去收索這個資料塊是否在記憶體中,此時訪問連結串列也需要一個latch,如果獲取失敗也就是會產生latch buffer cache chain等待了。
Latch buffer cache chain等待:
訪問相同的資料塊的session太多了導致了latch等待,也可能是由於此hash列表的增長,導致掃描hash列表的時間會增加,持有cache buffer chain latch的時間就會變長,其他session獲得latch的時間就會增加,導致了latch buffer cache chain
幾個細節:
Cr塊不會寫入回滾表空間所在的資料檔案
cr塊是從undo表空間中來的,就會存在一個物理讀
讀一個塊可能會或不會需要cr塊
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1055564/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cache Buffer Chain Latch等待事件AI事件
- cache buffer chain latch只讀共享?AI
- cache buffer lru chain latch等待事件AI事件
- latch free 中 cache buffer chain 的整理AI
- buffer cache實驗5-latch:cache buffers chainAI
- cache buffer chain latch可以以只讀模式共享AI模式
- cache buffer chainAI
- cache buffers LRU chain latchAI
- latch free(cache buffers chain)AI
- oracle實驗記錄(buffer_cache分析(3)cbc lru chain latch)OracleAI
- Latch: cache buffer chains (%)AI
- 等待模擬-cache buffer chainAI
- 等待事件_cache_buffers_lru_chain_latch事件AI
- cbc latch或cache buffer chains latch系列一AI
- 【BUFFER】Oracle buffer cache之 latch 學習記錄Oracle
- buffer cache實驗6-latch:cache buffers lru chainsAI
- buffer cache與相關的latch等待事件事件
- oracle實驗記錄 (buffer_cache分析(2)cbc latch)Oracle
- High Water Mark過高導致cache buffer chain等待嚴重AI
- 客戶資料庫出現大量cache buffer chains latch資料庫AI
- cache buffers lru chainAI
- Buffer和Cache的區別
- Cache 和 Buffer的區別
- buffer busy waits, latch cache buffers chains, read by other session區別AISession
- 使用events DUMP buffer cache中指定的資料塊
- Buffer Cache 原理
- cache buffers chains vs cache buffers lru chainAI
- Ask Hoegh(5)——buffer cache和buffer有什麼區別?
- Cache 和 Buffer 有什麼區別?
- Cache 和 Buffer 的區別在哪裡?
- Oracle中flush buffer cache和x$bhOracle
- 關於cache_buffer_lru_chain的疑問,知道的給小弟解答一下。AI
- row cache objects latch研究Object
- latch: cache buffers chainsAI
- IO之核心buffer----"buffer cache"
- Buffer Cache Hit Ratio
- Oracle Buffer Cache原理Oracle
- Oracle database buffer cacheOracleDatabase