恢復之利用備份在所有控制檔案丟失情況下恢復(一)
如果全部控制檔案丟失,但是包含以前控制檔案的備份,這時可以利用備份的控制檔案進行恢復,不過在恢復後需要以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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- 【BBED】丟失歸檔檔案情況下的恢復
- dg丟失歸檔,使用rman增量備份恢復
- RAC備份恢復之Voting備份與恢復
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- 電腦檔案丟失資料恢復資料恢復
- 丟失的隨身碟檔案如何恢復?
- XFS檔案系統的備份、恢復、修復
- 12 使用RMAN備份和恢復檔案
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- RAC控制檔案恢復(三種不同情況)
- Oracle 備份恢復之 FlashbackOracle
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- 利用innobackupex備份集恢復指定庫
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- Oracle Redo丟失恢復方案Oracle
- SqlServer 備份和恢復(一)SQLServer
- 備份和恢復
- mydumper備份恢復
- Mysql備份恢復MySql
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 伺服器資料丟失了怎麼恢復/分割槽丟失恢復教程伺服器
- MySQL 非常規恢復與物理備份恢復MySql
- oracle dg 歸檔日誌恢復情況Oracle
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- u盤資料丟失怎麼恢復?有效的恢復方法在這裡
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- Omni Recover for Mac如何恢復所有丟失的iPhone資料MaciPhone
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- 【資料庫資料恢復】mdb_catalog.wt檔案丟失的MongoDB資料恢復案例資料庫資料恢復MongoDB
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- 伺服器資料恢復案例之RAID資訊丟失資料恢復伺服器資料恢復AI
- 詳解叢集級備份恢復:物理細粒度備份恢復