Oracle block cleanout 說明

來源:互聯網
上載者:User

一. Block Cleanout 說明

之前的相關測試參考:

Orace ITL(Interested Transaction List) 說明  

OracleBlock scn/commit scn/cleanout scn 說明 

block clean out 是指把一個塊中的資料從 dirty 變為 clean,等於告訴後面的人,這個塊裡面的資料是乾淨的,可以放心的使用,本質上是更改 block header 中的一個標誌位。

當commit 的時候,如果被commit 的資料區塊還在 data buffer 中也要被cleanout,因為 commit 的時候並不一定修改block header (delay block cleanout) 。

Clean out有2種: fast commitcleanout和delayed blockcleanout:

   Oracle有一個modified block list結構,用來記錄每個transaction更改過的block,每個transaction大約可以記錄10%buffer cache這多的modified block。這部分block就是當發生commit的時候,oracle可以根據modified block list定位到那些塊並做fast commit cleanout。

如果一個transaction修改的塊超過10%buffer cache,那麼超過的塊就執行delayed block cleanout。當做fast commit cleanout時,oracle不會清理 Row lockslb標誌位,ITL lck標誌位。

       另一種情況是delayed block cleanout,當transaction還未commit或rollback時modified block已經被寫回磁碟,當發生commit時oracle並不會把block重新讀入做cleanout,這樣成本太高.而是把cleanout留到下一次對此塊的訪問(select,update)時完成。

當delayed cleanout時候如果undo segment header的transaction table slot還沒有被覆蓋,那麼可以找回該事務遞交的exact scn,如果slot已經被覆蓋(ITL被覆蓋),那麼將會使用undo segment header中的control scn來做為upper bound scn。

       當發生fast commit cleanout,系統將transaction提交時刻的scn作為commit scn,更新block上 itl和undo segment header的Transaction table的slot上的 scn,並修改block scn,三者是一致的。

       發生delayed block cleanout的時候,之前的transaction commit更新的只是undo segment header Transactiontable 上的slot scn,而並未做block上的更新,等待下次使用此block的時候,更新block scn和itl狀態。block scn和itl的更新又分2種情況:

       (1)當不產生slot重用的時候, delayedblock cleanout時,根據Transactiontable裡面的資訊,更新blockscn和itl上的Scn/Fsc為transaction曾經提交時候的scn。
       (2)當產生slot重用的時候,更新對應itl上scn為undo segment 上的control scn,而block scn 為delayed block cleanout發生時刻的scn。

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.