恢復之利用備份在所有控制檔案丟失情況下恢復(一)
如果全部控制檔案丟失,但是包含以前控制檔案的備份,這時可以利用備份的控制檔案進行恢復,不過在恢復後需要以RESETLOGS方式開啟資料庫。
根據聯機重做日誌檔案是否可用和資料檔案是否是最新的可以分為四種不同情況,這篇文章描述的是,聯機重做日誌可用,且資料檔案是最新的情況。
一般重做日誌全部丟失的話,資料庫肯定會馬上關閉。本測試為了模擬聯機日誌中包含待恢復資料的情況,在後臺執行儲存過程插入資料時,在另外的session使用SHUTDOWN ABORT關閉資料庫。
SQL> CONN /@TEST AS SYSDBA
已連線。
SQL> SHUTDOWN ABORT
ORACLE 例程已經關閉。
資料庫關閉後刪除所有控制檔案。
SQL> HOST DEL F:ORACLEORADATATEST*.CTL
然後利用備份的控制檔案進行恢復
SQL> HOST COPY F:ORACLEBACKUPTEST20060215*.CTL F:ORACLEORADATATEST
SQL> STARTUP MOUNT
ORACLE 例程已經啟動。
Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
資料庫裝載完畢。
利用備份的控制檔案啟動,需要使用USING BACKUP CONTROLFILE語句。
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
ORA-00279: 更改 45609576 (在 02/15/2006 19:28:34 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00059.001
ORA-00280: 更改 45609576 對於執行緒 1 是按序列 # 59 進行的
指定日誌: {
AUTO
ORA-00279: 更改 45610708 (在 02/16/2006 01:35:15 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00060.001
ORA-00280: 更改 45610708 對於執行緒 1 是按序列 # 60 進行的
ORA-00278: 此恢復不再需要日誌檔案 'F:ORACLEORADATATESTARCHIVEARC00059.001'
ORA-00279: 更改 45610901 (在 02/16/2006 01:36:55 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00061.001
ORA-00280: 更改 45610901 對於執行緒 1 是按序列 # 61 進行的
ORA-00278: 此恢復不再需要日誌檔案 'F:ORACLEORADATATESTARCHIVEARC00060.001'
ORA-00279: 更改 45612925 (在 02/16/2006 01:39:10 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00062.001
ORA-00280: 更改 45612925 對於執行緒 1 是按序列 # 62 進行的
ORA-00278: 此恢復不再需要日誌檔案 'F:ORACLEORADATATESTARCHIVEARC00061.001'
ORA-00308: 無法開啟存檔日誌 'F:ORACLEORADATATESTARCHIVEARC00062.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案1需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'F:ORACLEORADATATESTSYSTEM01.DBF'
最後出現的錯誤是由於SHUTDOWN ABORT後,使用備份的控制檔案造成的。Oracle需要應用當前的重做日誌檔案來進行恢復,但是由於使用了備份的控制檔案,備份之後的歸檔日誌資訊丟失,因此,這時需要手工輸入需要恢復的聯機重做日誌檔案。
其實這個時候是可以通過REDO的迴圈使用推斷出最後需要使用的聯機日誌的。
SQL> SELECT GROUP#, SEQUENCE#, STATUS FROM V$LOG;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 59 CURRENT
2 57 INACTIVE
3 58 INACTIVE
這時已經可以推斷GROUP2將是60,GROUP3是61,而GROUP1則是62。不過在輸入重做日誌進行恢復時,即使輸入錯檔案也沒有關係,Oracle會提示錯誤。如果輸入正確的重做日誌,則Oracle會完成介質恢復。
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
ORA-00279: 更改 45612925 (在 02/16/2006 01:39:10 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00062.001
ORA-00280: 更改 45612925 對於執行緒 1 是按序列 # 62 進行的
指定日誌: {
F:ORACLEORADATATESTREDO03.LOG
ORA-00310: 存檔日誌包含序列 61;要求序列 62
ORA-00334: 歸檔日誌: 'F:ORACLEORADATATESTREDO03.LOG'
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案1需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'F:ORACLEORADATATESTSYSTEM01.DBF'
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
ORA-00279: 更改 45612925 (在 02/16/2006 01:39:10 生成) 對於執行緒 1 是必需的
ORA-00289: 建議: F:ORACLEORADATATESTARCHIVEARC00062.001
ORA-00280: 更改 45612925 對於執行緒 1 是按序列 # 62 進行的
指定日誌: {
F:ORACLEORADATATESTREDO01.LOG
已應用的日誌。
完成介質恢復。
SQL> ALTER DATABASE OPEN RESETLOGS;
資料庫已更改。
恢復到這裡已經完成,現在需要做的是馬上進行資料庫的備份。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-548676/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 恢復之利用備份在所有控制檔案丟失情況下恢復(四)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(三)
- 恢復之利用備份在所有控制檔案丟失情況下恢復(二)
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- 【備份恢復】 丟失一個控制檔案 之恢復操作
- 【備份恢復】丟失所有控制檔案,利用RMAN進行恢復操作
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- 沒有自動備份的情況下控制檔案全部丟失的恢復
- undo表空間檔案丟失恢復(2)--無備份有redo的情況下恢復
- undo表空間檔案丟失恢復(3)--無備份無redo的情況下恢復
- undo表空間檔案丟失恢復(4)--無備份無recover的情況下恢復
- 備份與恢復--利用備份的控制檔案恢復
- 備份恢復之資料檔案丟失
- REDO檔案丟失的恢復__沒有任何備份的情況
- 非歸檔無備份下控制檔案丟失的恢復
- 恢復之丟失全部控制檔案以及備份中的控制檔案
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 【備份恢復】歸檔模式下丟失系統關鍵資料檔案 利用RMAN備份恢復模式
- 全備份情況下,刪除控制檔案及恢復
- RMAN備份恢復之控制檔案的恢復(一)
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- Oracle備份與恢復【丟失控制檔案的恢復】Oracle
- 只有rman備份集,控制檔案丟失的恢復
- 備份恢復實驗(1)丟失部分控制檔案
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 利用備份的控制檔案恢復
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- rman備份丟失控制檔案恢復
- 【備份恢復】非歸檔模式下丟失任意資料檔案 恢復操作模式
- 利用增量備份恢復gap歸檔丟失DG
- 控制檔案丟失恢復(二)
- 恢復丟失的控制檔案
- 控制檔案全部丟失恢復
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式