Crash/Instance Recovery与Media Recovery的本质区别
Crash/Instance Recovery與Media Recovery的本質區別在于: Crash/Instance Recovery針對需要恢復的實例從增量檢查點(incremental checkpoint)開始apply redo應用重做日志。由于日志覆蓋的先提條件是完成相關日志的logfile switch checkpoint,且從定義上說歸檔日志總是落后于實例的檢查點,所以對于crash/instance recovery崩潰或實例恢復總是只需要訪問讀取在線的重做日志(online redo logfile)。 ? 介質恢復Media Recovery從舊數據文件的檢查點開始apply redo引用重做日志,這些舊的數據文件可能來源于備份。 介質恢復情況下需要用到歸檔重做日志,因此RMAN或DBA(用戶管理的備份)也需要將備份相關的歸檔日志還原出來。 ? Crash/Instance Recovery總是保證僅當所有的持久重做數據被應用之后才算恢復完成。 在Oracle保證所有已提交的事務都已經被包含恢復的情況下,才認為崩潰實例完成了恢復工作。 ? 相反,介質恢復有不完全恢復(incomplete recovery)和部分恢復(partial recovery)的提法,以實現恢復數據庫(db)到某個時間點的一致性。 ? ? Crash/Instance Recovery與Media Recovery的相同點在于: ? Crash/Instance Recovery與Media Recovery都是傳統的前滾恢復方式(rolling forward),原理上都是對持久redo log數據的重演。 不管是Crash/Instance Recovery還是Media Recovery的前滾,都需要繼之以事務回滾以便回滾未提交的事務,雖然前滾完成后數據庫即可以打開而不用等回滾完成,但是僅在回滾完成的時候我們認為數據庫是真正一致的。 ? 擴展閱讀:?了解你所不知道的SMON功能(五):Recover Dead transaction?深入了解Oracle前滾恢復rolling forward(一)?了解你所不知道的SMON功能(六):Instance Recovery
本文轉自maclean_007 51CTO博客,原文鏈接:http://blog.51cto.com/maclean/1278441
總結
以上是生活随笔為你收集整理的Crash/Instance Recovery与Media Recovery的本质区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 141. Linked
- 下一篇: Linux操作系统上的mysql安装