oracle instance recovery例項恢復小記
oracle例項恢復
1,oracle例項恢復概念
1,應用線上重作日誌到資料檔案中重構對於資料庫的變化(介質恢復應用歸檔日誌)
2,從最新最近的checkpoint對應的rba開始應用redo (介質恢復應用歸檔日誌)
3,一般資料庫關閉不正常,oracle會自動進行例項恢復(而介質恢復要人工進行)
2,何時發生例項恢復
何時發生例項恢復與重作執行緒有關(redo thread:由例項產生的redo),
如果資料庫以讀寫模式開啟,redo thread在控制檔案被標記為open;
如果資料庫正常關閉,redo thread在控制檔案被標記為closed;
但是如果在控制檔案標記為open,但並沒有一個添動的例項為redo thead提供thread enqueue;
這個時間就要例項恢復(其實也就是說資料庫非正常關閉)
資料庫何時進行自動化例項恢復:
1,異常關庫的首次啟動,也叫crash recovery
2,rac環境下,如某些例項異常中斷,存活例項自動進行例項恢復
3,在例項恢復中檢查點所起的重要作用
1,例項恢復用檢查點確定從線上日誌檔案哪裡開始應用redo到資料檔案
2,checkpoint確保低於checkpoint scn的提交scn已儲存到資料檔案
也就是說自checkpoint scn開始應用redo到datafile
4,例項恢復如何實現的過程
1,例項恢復第一個階段叫作cache recovery或者前滾rolling forward,
即把線上重作包含的所有變更應用到資料檔案中
2,因為線上重作也記錄了rollback data,所以前滾也會重構對應的undo segment
3,前滾之後資料庫包含了提交與未提交的資料;資料庫必須要把未提交的回滾了;如何回滾呢,
透過檢查點的位置;確保低於checkpoint scn的提交資料已全部寫入到磁碟了;
oracle就應用undo block回滾未提交的資料到一致性狀態;
至此,資料庫全部處於一致狀態下
4,oracle會同時回滾多個事務(發生故障時的活動事務);
新事務不會去等待smon程式回滾異常中斷的事務,它會自己去回滾它所需要的資料塊到一致性狀態
5,例項恢復的作用
1,把資料庫從非一致性狀態迴歸到一致性下
2,提交事務時,lgwr把log buffer中的內容及事務對應的scn寫入到redo logfile中,但是請注意:
(注:參考提交commit的概念:http://space.itpub.net/9240380/viewspace-756756)
dbwr不會馬上把修改過的dirty buffer寫入到資料檔案中,因為它要考慮效率;因為這個原因,
資料檔案會存在一些臨時性未提交的資料;而此時提交資訊未同步到資料檔案中
所以說想下:非法關庫shutdown abort或庫異常中斷:必須要用例項恢復
1,把線上重作日誌對資料檔案已提交資訊應用到資料檔案中;
2,把庫down時未提交的變化也要由線上重作日誌應用到資料檔案,這樣確保undo segment的一致性;
就是更新undo segment的事務表
3,由上可知:例項恢復僅用於線上日誌檔案和當前操作的資料檔案
6,由smon進行例項恢復,不用人工操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-757025/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle media recovery介質恢復小記Oracle
- zt_例項恢復instance recovery相關原理精簡總結(原創)
- Oracle例項恢復Oracle
- oracle RECOVERY_PARALLELISM與instance recovery和medium recovery的關係小記OracleParallel
- Oracle例項恢復和介質恢復Oracle
- Oracle例項恢復的時候所採用的 two-phase recovery/two pass recoveryOracle
- Oracle例項恢復機制Oracle
- Oracle 例項恢復詳解Oracle
- oracle database 例項恢復和介質恢復OracleDatabase
- 例項恢復(Instance Recovery)之前滾(Rolling Forward)和回滾(Rolling Back)Forward
- Oracle 11g 例項恢復Oracle
- oracle例項恢復的學習理解Oracle
- 【Oracle】-Difference between Instance recovery and Crash RecoveryOracle
- zt_real application cluster恢復為單例項single instanceAPP單例
- oracle使用小記、刪除恢復Oracle
- ORACLE事務和例項恢復過程梳理Oracle
- oracle 11C rman 恢復到單例項Oracle單例
- SCN、Checkpoint、例項恢復介質恢復理解
- Oracle例項囚籠(Instance Caging)Oracle
- oracle media recovery介質恢復實驗-Oracle
- rac恢復到單例項單例
- 單例項恢復至RAC單例
- 資料塊恢復例項
- RAC筆記之instance recovery筆記
- ORACLE主從中斷後,如何恢復(單例項)Oracle單例
- oracle 關於例項恢復的一個討論Oracle
- Oracle例項恢復——說說前滾和回滾Oracle
- 記錄一次Oracle 11.2.0.4 RAC異地恢復到單例項Oracle單例
- Oracle 恢復一例Oracle
- oracle scn與備份恢復backup recovery(一)Oracle
- RAC asm恢復到單例項ASM單例
- 例項恢復的簡要解析
- Oracle資料檔案損壞恢復例項二則Oracle
- oracle實驗記錄 (恢復-完全恢復)Oracle
- oracle實驗記錄 (恢復-rman恢復)Oracle
- rac到單例項的rman恢復單例
- 單例項備份恢復成RAC單例
- MySQL增量備份與恢復例項MySql