oracle相關術語的解釋

suifeng2316發表於2013-06-04
RBA(Redo Byte Address), Low RBA(LRBA), High RBA(HRBA)RBA就是重做日誌塊(redo log block)的地址,相當與資料檔案中的ROWID,通過這個地址來定位重做日誌塊。RBA由三個部分組成:
  • 日誌檔案序列號(4位元組)
  • 日誌檔案塊編號(4位元組)
  • 重做日誌記錄在日誌塊中的起始偏移位元組數(2位元組)
通常使用RBA的形式有:
LRBA資料快取(buffer cache)中一個髒塊第一次被更新的時候產生的重做日誌記錄在重做日誌檔案中所對應的位置就稱為LRBA。
HRBA資料快取(buffer cache)中一個髒塊最近一次被更新的時候產生的重做日誌記錄在重做日誌檔案中所對應的位置就稱為HRBA。
checkpoint RBA當一個checkpoint事件發生的時候,checkpoint程式會記錄下當時所寫的重做日誌塊的地址即RBA,此時記錄的RBA被稱為checkpoint RBA。從上一個checkpoint RBA到當前的checkpoint RBA之間的日誌所保護的buffer cache中的髒塊接下來將會被寫入到資料檔案當中去。
Buffer checkpoint Queues (BCQ)
Oracle將所有在資料快取中被修改的髒塊按照LRBA順序的組成一個checkpoint佇列,這個佇列主要記錄了buffer cache第一次發生變化的時間順序,然後有DBWn程式根據checkpoint佇列順序將髒塊寫入到資料檔案中,這樣保證了先發生變更的buffer能先被寫入到資料檔案中。BCQ的引入是為了支援增量checkpoint的。
Active checkpoint Queue (ACQ)
ACQ中包含了所有活動的checkpoint請求。每次有新checkpoint請求是都會在ACQ中增加一條記錄,ACQ記錄中包含了相應的checkpoint RBA。checkpoint完成以後相應的記錄將被移出佇列。
checkpoint和SCN有什麼關係?在Oracle中SCN相當於它的時鐘,在現實生活中我們用時鐘來記錄和衡量我們的時間,而Oracle就是用SCN來記錄和衡量整個Oracle系統的更改。
Oracle中checkpoint是在一個特定的“時間點”發生的,衡量這個“時間點”用的就是SCN,因此當一個checkpoint發生時SCN會被寫入檔案頭中以記錄這個checkpoint。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23073818/viewspace-762881/,如需轉載,請註明出處,否則將追究法律責任。

相關文章