Low cache RBA和On disk RBA的區別
low cache rba
就是CKPT記錄的DBWR寫出的進度,也就是更新到控制檔案和資料檔案的進度記錄,對於增量檢查點,因為我們都知道,當checkpoint發生的時候,ckpt程式會通知dbwn程式去寫出dirty buffer,但是需要特別注意的是ckpt程式通知dbwn程式後,並不需要等待dbwn寫到當前觸發檢查點那個時候的scn後,再去更新當前控制檔案和資料檔案的scn(當然ckpt是有心跳的,通過心跳ckpt程式可以監視dbwn寫的進度),而是將當前剛剛寫完的dirty buffer(寫多少算多少,寫完那個算那個)對應的scn更新到資料檔案和控制檔案當中,我們都知道修改的data buffer會被移動到checkpoint queue中,當然這個dirty buffer是在checkpoint queue中按照low rba的先進先出的順序寫出的,無論後來對這個buffer做了多少次修改,他在queue中的寫出順序是不會被改變的。那麼每3秒鐘,ckpt還會去更新控制檔案和資料檔案的heartbeat值。那麼實際上每隔3秒,也會觸發檢查點,但是,這樣的操作並沒有被oracle正式作為一種檢查點的觸發方式列入文件 ,因為這個3秒記錄的是dbwr的寫的進度而不是通知讓dbwr去寫出。
on disk rba就是LGWR的寫進度。
如果資料庫carsh了,low cache rba是恢復的起點,on disk rba是恢復的終點。
分析:
dbwr成功寫完後並不會把當前的此刻scn資訊寫到控制檔案中,只有CKPT才更新控制檔案和資料檔案頭,dbwr只要成功將dirty data寫入資料檔案就是成功, CKPT只要能將最新DBWR寫完的SCN更新到控制檔案和資料檔案頭就算成功。但是由於CKPT程式不是實時更新dbwr寫完的scn到控制檔案中,而是採用每3妙更新一次的策略,因此最後有ckpt程式寫進控制檔案的scn資訊有可能不是當前dbwr剛剛寫完的scn值。這點應該注意,也就是說dbwr寫的進度與ckpt程式更新控制檔案的進度是不同的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-50352/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份與恢復 - Low cache RBA和On disk RBA的區別
- low cache rba,on disk rba資料庫恢復過程資料庫
- oracle 例項崩潰時啟動的驗證(low cache rba->on disk rba)Oracle
- Oracle RBAOracle
- Incremental checkpoint up to RBAREM
- oracle rba一些小知識Oracle
- OGG EXTRACT / REPLICAT CHECKPOINT RBA IS LARGER THAN LOCAL TRAIL SIZEAI
- Buffer和Cache的區別
- Cache 和 Buffer的區別
- Service Worker Cache 和 HTTP Cache 的區別HTTP
- zt_Oracle RBA(Redo Byte Address) 說明Oracle
- Cache 和 Buffer 的區別在哪裡?
- Client Side Cache 和 Server Side Cache 的區別clientIDEServer
- KEEP POOL和CACHE屬性的區別
- Cache 和 Buffer 有什麼區別?
- buffer與cache的區別
- Buffer 與 Cache 的區別
- library cache lock和library cache pin區別總結
- Oracle RAC 和OPS 區別 - Cache FusionOracle
- Linux Buffer/Cache 的區別Linux
- buffer 與cache 的區別2
- linux cache與buffer的區別Linux
- HTTP 頭部欄位 Cache Control max-age = 0 和 no-cache 的區別HTTP
- Ask Hoegh(5)——buffer cache和buffer有什麼區別?
- Linux記憶體管理機制中buffer和cache的區別Linux記憶體
- Cache和Buffer都是快取,有什麼區別?Linux快取Linux
- Linux作業系統中記憶體buffer和cache的區別Linux作業系統記憶體
- ../和./和/的區別
- Linux free中buffer與cache區別Linux
- 計算機buffer和cache的區別?linux運維學習知識計算機Linux運維
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- 轉貼_大牛_tolywang_Buffer 與 Cache 的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- Linux作業系統中記憶體buffer和cache的區別(轉載)Linux作業系統記憶體