oracle block cleanout塊清除_延遲塊清除
1,oracle延遲塊清除是基於io效能的考慮而設計
2,設想一個UPDATE大量資料的操作,因為執行時間較長,一部分已修改的塊已被緩衝池flush out寫至磁碟,
當UPDATE操作完成執行COMMIT操作時,則需要將那些已寫至磁碟的資料塊重新讀入,這將產生大量的io
3,針對上述情況產生延遲塊清除
何時發生延遲塊清除:
1,在更新過程中,被緩衝池flush out寫至磁碟的塊
2,若更新操作涉及的塊超過了塊緩衝區快取的10%時,超出的部分塊。
3,雖然commit不會對這些已flush到磁碟的資料塊進行清除塊itl標誌操作;
但會修改回滾段的段頭
回滾段的段頭包括了段中的事務的字典,COMMIT操作將本事務轉化為非ACTIVE狀態。
4,當下一次操作如SELECT,UPDATE,INSERT或DELETE訪問到這些塊(已flush到磁碟的資料塊時)時可能需要在讀入後完成塊清除,這樣的操作稱之為塊延遲清除
5,具體如何操作呢?
1,塊延遲清除透過事務槽上的回滾段號(已flush回磁碟並重讀回buffer cache的資料塊之itl),槽號等資訊訪問回滾段頭的事務字典;
2,此時回滾段頭的事務字典標記已是非active狀態;則清除塊上的itl相關資訊
6,一般情況,延遲塊清除多發生於select操作中
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-756754/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 塊延遲清除(delayed block cleanout) 理解OracleBloC
- Oracle Block Cleanouts 塊清除OracleBloC
- Oracle (block clean out) oracle的塊清除OracleBloC
- 關於延遲塊清除的原理是什麼?為什麼要進行塊清除
- oracle 塊清除Oracle
- 29、undo_2_1(事務槽、延遲塊清除、構造CR塊、ora-01555)
- 塊清除的理解
- [20190124]bbed恢復資料遇到延遲塊清除的問題.txt
- [20190124]bbed恢復資料遇到延遲塊清除的問題2.txt
- 使用10203事件來跟蹤oracle塊清除事件Oracle
- [20190125]bbed恢復資料遇到延遲塊清除的問題3.txt
- oracle實驗記錄 (block cleanout)OracleBloC
- oracle壞塊Block CorruptionsOracleBloC
- Oracle資料塊blockOracleBloC
- zt_使用10203事件event跟蹤Oracle塊清除事件Oracle
- 【BLOCK】Oracle 塊管理常用SQLBloCOracleSQL
- oracle的塊 db_block_sizeOracleBloC
- oracle corrupt block壞塊處理OracleBloC
- 清除inline-block元素間距inlineBloC
- oracle block資料塊itl小記OracleBloC
- IOS Block 塊用法iOSBloC
- 清除oracle回收站Oracle
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- Block Change Tracking (Oracle 塊修改跟蹤)BloCOracle
- oracle block資料塊結構之itcOracleBloC
- oracle block資料塊結構續(一)OracleBloC
- zt_oracle block資料塊精講OracleBloC
- ORACLE 使用records_per_block降低表資料塊熱塊機率OracleBloC
- oracle block header_tail資料塊頭與資料塊尾OracleBloCHeaderAI
- [20211105]索引分裂 塊清除 日誌增加.txt索引
- 延遲塊清理介紹(select也會產生redo的原因)
- Oracle 塊修改跟蹤 (Block Change Tracking) 說明OracleBloC
- cookie清除Cookie
- Oracle RMAN 清除歸檔日誌Oracle
- Oracle RMAN清除歸檔日誌Oracle
- 清除oracle的recyclebin回收站Oracle
- linux清除oracle所有的sessionLinuxOracleSession
- oracle的延遲約束Oracle