1 定義
RBA就是redo entries在重做記錄檔中所對應的地址
2 組成
RBA由三部分組成:
序號(4個位元組)
塊號(4個位元組)
起始位元組(2個位元組)
以上都是16進位儲存
3 類型
3.1 LRBA
定義:塊第一次變髒時所對應的redo entries在redo log file裡的位置
注釋:CKPT-Q按LRBA的順序維護髒塊,執行檢查點事件時,DBWn從CKPT-Q按LRBA的順序寫出。LRBA也就是checkpoint position。從檢查點位置(LRBA)處,應用重做記錄到On disk rba處,這個過程就是前滾。
3.2 HRBA
定義:髒塊在buffer cache中最近一次被更新時產生的redo entries在redo log file裡的位置
注釋:如果HRBA > on-disk RABA,那麼HRBA所對應的相關redo entries還在redo log buffer中,如果執行個體crash,則HRBA是不可能被恢複的。
3.3 checkpoint RBA
定義:在CKPT-Q上第一個髒資料區塊的LRBA,這個RBA之前的髒資料已經被全部寫入磁碟。
注釋:當一個checkpoint事件發生的時候,CKPT進程會記錄下當時所寫的重做日誌記錄的地址(即RBA),此時記錄的RBA被稱之為checkpoint RBA,從上一個checkpoint RBA到當前checkpoint RBA之間的日誌所保護的buffer cache中的髒塊接下來將會被寫進資料檔案。
3.4 on-disk RBA
定義:LGWR 寫記錄檔的最末位置的地址,磁碟中重做記錄檔的最後一條重做記錄。
注釋:on disk rba是Oracle前滾操作的終點。on disk 顧名思義 就是'在磁碟上'的意思.比這個更高的rba,都在log buffer中,還沒有來的急被寫進磁碟中的記錄檔.所以是不能被用於恢複的。
3.5 target RBA
定義:檢查點事件結束時的checkpoint RBA
注釋:為了縮短執行個體恢複的時間,DBWn會儘力把checkpoint RBA的目標值定的長遠點。