RMAN備份恢復之控制檔案的恢復(二)
控制檔案對於資料庫來說至關重要,在資料庫的恢復過程中,首先需要恢復初始化引數檔案,然後就是控制檔案的恢復。
RMAN採用CATALOG方式還是NOCATALOG方式,以及是否啟用了AUTOBACKUP,決定了控制檔案的恢復方法。
RMAN備份恢復之控制檔案的恢復(一):http://yangtingkun.itpub.net/post/468/305766
這篇文章介紹NOCATALOG方式下通過CONTROLFILE AUTOBACKUP來恢復控制檔案。
在NOCATALOG方式下,如果控制檔案的自動備份是開啟的,那麼控制檔案丟失後,也可以方便的利用控制檔案的自動備份進行恢復。
F:>sqlplus "/@test1 as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 7月 23 21:37:28 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host move F:oracleoradata est1control01.ctl F:oracleoradata est1control01.bak
SQL> host move F:oracleoradata est1control02.ctl F:oracleoradata est1control02.bak
SQL> host move F:oracleoradata est1control03.ctl F:oracleoradata est1control03.bak
SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production中斷開
F:>
上面刪除了控制檔案,這個時候資料庫已經無法開啟了:
F:>sqlplus "/@test1 as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 7月 23 21:44:02 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連線到空閒例程。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 110173900 bytes
Fixed Size 454348 bytes
Variable Size 83886080 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-00205: ?????????????????????
SQL> shutdown
ORA-01507: ??????
ORACLE 例程已經關閉。
SQL>
SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production中斷開
下面嘗試使用RMAN恢復控制檔案:
F:>rman target /@test1
恢復管理器: 版本9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
已連線到目標資料庫 (未啟動)
RMAN> startup nomount
Oracle 例程已啟動
系統全域性區域總計 110173900 位元組
Fixed Size 454348 位元組
Variable Size 83886080 位元組
Database Buffers 25165824 位元組
Redo Buffers 667648 位元組
RMAN> restore controlfile from autobackup;
啟動 restore 於 23-7月 -07
正在使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/23/2007 22:04:17
RMAN-06495: must explicitly specify DBID with SET DBID command
RMAN> set dbid 974710760
正在執行命令: SET DBID
RMAN> show controlfile autobackup format;
RMAN 配置引數為:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
RMAN> set controlfile autobackup format for device type disk to 'f:oracleackup\%F';
正在執行命令: SET CONTROLFILE AUTOBACKUP FORMAT
RMAN> restore controlfile from autobackup;
啟動 restore 於 23-7月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070723
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070722
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070721
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070720
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070719
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070718
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070717
通道 ORA_DISK_1: 沒有找到 7 天之內的自動備份
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/23/2007 22:07:28
RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
RMAN> restore controlfile from autobackup maxdays 20;
啟動 restore 於 23-7月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070723
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070722
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070721
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070720
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070719
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070718
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070717
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070716
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070715
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070714
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070713
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070712
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070711
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070710
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070709
通道 ORA_DISK_1: 尋找以下日期的自動備份: 20070708
通道 ORA_DISK_1: 已找到的自動備份: f:oracleackupc-974710760-20070708-00
通道 ORA_DISK_1: 從自動備份復原控制檔案已完成
正在複製控制檔案
輸出檔名=F:ORACLEORADATATEST1CONTROL01.CTL
輸出檔名=F:ORACLEORADATATEST1CONTROL02.CTL
輸出檔名=F:ORACLEORADATATEST1CONTROL03.CTL
完成 restore 於 23-7月 -07
RMAN> alter database mount;
資料庫已載入
RMAN> alter database open;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 07/23/2007 22:08:44
ORA-01589: 要開啟資料庫則必須使用 RESETLOGS 或 NORESETLOGS 選項
RMAN> alter database open resetlogs;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 07/23/2007 22:08:53
ORA-01152: 檔案 1 沒有從完備的舊備份中恢復
ORA-01110: 資料檔案 1: 'F:ORACLEORADATATEST1SYSTEM01.DBF'
RMAN> recover database;
啟動 recover 於 23-7月 -07
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 2 已作為檔案 F:ORACLEORADATATEST1REDO01.LOG 存在於磁碟上
存檔日誌執行緒 1 序列 3 已作為檔案 F:ORACLEORADATATEST1REDO02.LOG 存在於磁碟上
存檔日誌執行緒 1 序列 4 已作為檔案 F:ORACLEORADATATEST1REDO03.LOG 存在於磁碟上
無法找到存檔日誌
存檔日誌執行緒 =1 序列=0
Oracle 錯誤:
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01152: 檔案 1 沒有從完備的舊備份中恢復
ORA-01110: 資料檔案 1: 'F:ORACLEORADATATEST1SYSTEM01.DBF'
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 07/23/2007 22:09:17
RMAN-06054: media recovery requesting unknown log: thread 1 scn 58880369
RMAN> catalog archivelog 'F:oracleoradata est1ARCHIVELOGARC00001.001';
已編目的存檔日誌
存檔日誌檔名 =F:ORACLEORADATATEST1ARCHIVELOGARC00001.001 記錄 ID=35 時間戳 =628726349
RMAN> recover database;
啟動 recover 於 23-7月 -07
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 1 已作為檔案 F:ORACLEORADATATEST1ARCHIVELOGARC00001.001
存在於磁碟上
存檔日誌執行緒 1 序列 2 已作為檔案 F:ORACLEORADATATEST1REDO01.LOG 存在於磁碟上
存檔日誌執行緒 1 序列 3 已作為檔案 F:ORACLEORADATATEST1REDO02.LOG 存在於磁碟上
存檔日誌執行緒 1 序列 4 已作為檔案 F:ORACLEORADATATEST1REDO03.LOG 存在於磁碟上
存檔日誌檔名 =F:ORACLEORADATATEST1ARCHIVELOGARC00001.001 執行緒 =1 序列 =0
存檔日誌檔名 =F:ORACLEORADATATEST1REDO01.LOG 執行緒 =1 序列 =2
存檔日誌檔名 =F:ORACLEORADATATEST1REDO02.LOG 執行緒 =1 序列 =3
存檔日誌檔名 =F:ORACLEORADATATEST1REDO03.LOG 執行緒 =1 序列 =4
完成介質的恢復
完成 recover 於 23-7月 -07
RMAN> alter database open resetlogs;
資料庫已開啟
RMAN>
上面碰到的第一個錯誤:RMAN-06495是由於沒有設定DBID造成的,通過控制檔名稱中包含的DBID資訊設定DBID,並且根據控制檔案的位置設定控制檔案自動備份的目錄和格式。
第二個錯誤:RMAN-06172是由於控制檔案的生成日期早於恢復預設查詢日期(7天),通過設定MAXDAYS來避免這個錯誤的產生。
第三個錯誤說明恢復了控制檔案後,資料庫必須以RESETLOGS方式開啟。
第四個錯誤表示,由於恢復了以前備份的控制檔案,目前資料庫資料檔案和控制檔案不一致,因此必須要進行恢復。
最後一個錯誤是由於歸檔日誌的產生晚於控制檔案,因此控制檔案中沒有包括歸檔的資訊,於是在恢復的過程中由於沒有找到第一個歸檔資訊,而導致恢復無法完成。通過CATALOG命令使得RMAN記錄了歸檔資訊後,恢復完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69359/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(一)
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(二)
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(三)
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(一)
- rman備份丟失控制檔案恢復
- 備份與恢復--利用備份的控制檔案恢復
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- rman備份恢復-rman恢復資料檔案測試
- 【備份與恢復】控制檔案的恢復(不完全恢復)
- 備份與恢復系列 十一 控制檔案的備份與恢復
- 【備份恢復】丟失所有控制檔案,利用RMAN進行恢復操作
- 【備份恢復】 丟失一個控制檔案 之恢復操作
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- RMAN基於備份控制檔案恢復失敗
- rman恢復--丟失控制檔案的恢復
- rman恢復資料庫--用備份的控制檔案資料庫
- 只有rman備份集,控制檔案丟失的恢復
- Oracle備份與恢復【丟失控制檔案的恢復】Oracle
- 利用備份的控制檔案恢復
- 控制檔案的備份和恢復
- RMAN恢復控制檔案
- 【備份與恢復】恢復受損的複用控制檔案
- rman備份-(1) 利用備份級恢復資料檔案和控制檔案
- 【備份恢復】 控制檔案多路徑
- 備份與恢復--重建控制檔案
- 12 使用RMAN備份和恢復檔案
- 【備份恢復】所有控制檔案丟失後 利用trace中的控制檔案備份執行恢復
- 控制檔案恢復—從自動或二進位制備份中恢復
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- 使用rman恢復控制檔案
- Oracle 11g RAMN恢復-控制檔案的備份和恢復Oracle
- 【備份恢復】 控制檔案之版本不一致 之恢復操作
- RMAN備份與恢復之加密備份加密
- 備份&恢復之十三:損壞全部控制檔案
- 備份與恢復(Parameter 檔案恢復篇)
- rman備份恢復命令之switch