例項恢復的簡要解析
How oracle server determine about the changed blocks (dirty blocks) after a checkpoint event by
which the DBWR writes dirty buffers in data files and still user do not commit the transaction or rollback.
有點複雜,下面假定有這麼一個簡要的場景:
用一個update語句更新1000行,oracle會執行以下操作:
a.在SGA中生成更新過的datablocks
b.在SGA中生成回滾記錄
c.為SGA中的datablocks和回滾記錄均生成重做日誌資訊
在這個過程中,Oracle可能會把REDO資訊寫入到日誌檔案中。要記住:在checkpoint一個資料塊之前(也就是DBWR寫datablock前),
保護該block的日誌會先寫入到日誌檔案中。不可能存在資料塊已寫入磁碟但日誌還沒有寫入的情況。
假設在update的過程中資料庫伺服器當機,那麼可能會發生下列事件:
1.某些REDO資訊已經寫入到日誌檔案中,但資料塊和回滾塊沒有寫入到磁碟上。當系統重起後,會應用REDO日誌,
在SGA中重構回滾塊和資料塊。前滾完成後,Oracle會應用先前構造的回滾塊進行回滾,這樣看起來事務好像從來沒有發生過一樣。
2.某些日誌和某些資料塊以及回滾塊已經寫入到磁碟上。首先執行1的操作,接著前滾,應用日誌到還沒有進行檢查點的資料塊上,然後再回滾。
3.沒有日誌寫入到磁碟上。當系統重起後,事務看起來就好像沒有發生過一樣,無需恢復。
譯自
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-21788/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle例項恢復Oracle
- Oracle例項恢復和介質恢復Oracle
- SCN、Checkpoint、例項恢復介質恢復理解
- oracle database 例項恢復和介質恢復OracleDatabase
- rac恢復到單例項單例
- Oracle例項恢復機制Oracle
- 單例項恢復至RAC單例
- 資料塊恢復例項
- Oracle 例項恢復詳解Oracle
- oracle例項恢復的學習理解Oracle
- rac到單例項的rman恢復單例
- 自己理解的例項恢復步驟
- 例項恢復相關原理精簡總結(原創)
- Oracle 11g 例項恢復Oracle
- RAC asm恢復到單例項ASM單例
- 單例項備份恢復成RAC單例
- MySQL增量備份與恢復例項MySql
- rac asm 恢復到 單例項 1ASM單例
- rac asm 恢復到 單例項 2ASM單例
- RAC從帶庫到單例項的恢復單例
- 從nub備份恢復(同平臺)恢復RAC至單例項單例
- RMAN異機恢復:RAC到單例項單例
- RAC恢復到單例項節點上單例
- 恢復rac db(raw)到單例項下單例
- 單例項備份集恢復到RAC單例
- oracle instance recovery例項恢復小記Oracle
- RMAN例項備份與恢復詳解
- oracle 關於例項恢復的一個討論Oracle
- ORACLE事務和例項恢復過程梳理Oracle
- oracle 11C rman 恢復到單例項Oracle單例
- 判斷資料庫是否需要例項恢復資料庫
- 恢復RAC資料庫到單例項(ASM)資料庫單例ASM
- 硬碟資料恢復例項全解(1) (轉)硬碟資料恢復
- 資料庫的備份與恢復分析及例項資料庫
- zt_例項恢復instance recovery相關原理精簡總結(原創)
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- ORACLE主從中斷後,如何恢復(單例項)Oracle單例
- 10g rac asm 恢復到 單例項(二)ASM單例