BUFFER CACHE尋找流程
1、獲得保護hash bucket的CACHE BUFFERS CHAINS鎖存器,讀取需要SHARED模式,如果是修改則需要EXCLUSIVE模式,
如果發生爭用等待latch:cache buffers chains
2、檢視BUFFER HEADER,塊是否已經在BUFFER裡面,如果在對相應的緩衝區進行shared模式或者EXCLUSIVE模式的
buffer lock,如果發生BUFFER LOCK爭用則等待BUFFER BUSY WAITS,如果正在透過DBWR寫入到
緩衝區,則等待WRITE COMPLETE WAITS(邏輯讀)
3、如果不在BUFFER CACHE中,獲得CACHE BUFFER LRU chain後在LRU輔助列上檢索空閒區域,
如果輔助區沒有空閒區域,就在主佇列上按照COLD HOT的COLD端尋找,如果找到可以覆蓋的緩衝
區域,則對緩衝區叫EXCLUSIVE模式的BUFFER LOCK,並且將資料塊讀入到環境區,如果獲得BUFFER LOCK
的過程發生爭用則等待READ BY OYHER SESSION(物理讀)
4、如果還是沒有找到,伺服器程式請求DBWR將髒資料寫到資料檔案,確保空閒緩衝區,如果等待DBWR寫盤的時間就是FREE BUFFER WAITS。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-763905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 尋找 library cache lock 等待事件的session事件Session
- Buffer Cache 原理
- cache buffer chainAI
- IO之核心buffer----"buffer cache"
- Buffer Cache Hit Ratio
- Oracle Buffer Cache原理Oracle
- Oracle database buffer cacheOracleDatabase
- CACHE BUFFER CHAINSAI
- Database Buffer Cache (79)Database
- page cache與buffer cache的關係
- Oracle Cache Buffer ChainsOracleAI
- linux cache and buffer【轉】Linux
- Latch: cache buffer chains (%)AI
- buffer cache logical structure!Struct
- buffer cache部分原理(LRU)
- Organization of the Database Buffer Cache (80)Database
- Size of the Database Buffer Cache (82)Database
- oracle buffer cache管理機制_buffer cache dump與lru機制小記Oracle
- 【BUFFER】Oracle buffer cache之 latch 學習記錄Oracle
- buffer與cache的區別
- database buffer cache之我見Database
- buffer cache基本知識點
- BUFFER CACHE 基礎知識
- [Oracle Script] Buffer Cache Hit RatioOracle
- 等待模擬-cache buffer chainAI
- Buffer cache的執行原理
- Buffer和Cache的區別
- Buffer 與 Cache 的區別
- Cache Buffer Chain Latch等待事件AI事件
- Cache 和 Buffer的區別
- why Buffer Cache Hit Ratio < 0
- buffer cache實驗5-latch:cache buffers chainAI
- 【Cache】將常用的“小表”快取到Buffer Cache快取
- Buffer Cache以及buffer busy waits/gc相關事件AIGC事件
- Linux Buffer/Cache 的區別Linux
- 轉_Buffer Cache的原理及使用
- buffer 與cache 的區別2
- cr塊和latch buffer cache chainAI