初試Oracle的RMAN異地異系統恢復…………失敗…………
昨天沒有看什麼具體的知識點
而是去試驗了一下RMAN的恢復
從朋友那邊得到了一份測試資料庫的完全備份集(其實還不夠完全)
想在自己這邊試驗看看能不能恢復回去
先從朋友那邊拿到三個控制檔案(其實這個時候應該意識到問題的……)
再讓他通過spfile建立pfile
至此,一切準備工作就緒(我以為的就緒……)
先在Linux下export ORACLE_SID=資料庫SID
然後手動建立相應資料庫目錄(bdump、pfile等)
設定相應的Tnsname和listener,可以利用netmgr設定
或拷貝現有項,加以簡單修改(也就是改改SID什麼的)
通過SqlPlus連線新建的ORACLE_SID(這時候是可以連線的)
因為自己已經將control檔案拷貝到相應目錄
所以啟動資料庫到mount狀態,startup mount
(其實……這裡可能不是正確的)
在mount狀態下,開始利用備份檔案恢復資料檔案到新的位置
在SqlPlus下執行下面的PL/SQL塊
DECLARE
devtype varchar2(256);
done boolean;
BEGIN
devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
sys.dbms_backup_restore.restoreSetDatafile;
sys.dbms_backup_restore.restorecontrolfileto
(cfname=>'/home/oracle/oracle/oradata/dagl/control01.ctl');
sys.dbms_backup_restore.restorecontrolfileto
(cfname=>'/home/oracle/oracle/oradata/dagl/control02.ctl');
sys.dbms_backup_restore.restorecontrolfileto
(cfname=>'/home/oracle/oracle/oradata/dagl/control03.ctl');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>01,toname=>'/home/oracle/oracle/oradata/dagl/system01.dbf');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>02,toname=>'/home/oracle/oracle/oradata/dagl/undotbs01.dbf');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>03,toname=>'/home/oracle/oracle/oradata/dagl/sysaux01.dbf');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>04,toname=>'/home/oracle/oracle/oradata/dagl/user01.dbf');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>05,toname=>'/home/oracle/oracle/oradata/dagl/example01.dbf');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>06,toname=>'/home/oracle/oracle/oradata/dagl/dagl');
sys.dbms_backup_restore.restoredatafileto
(dfnumber=>07,toname=>'/home/oracle/oracle/oradata/dagl/rman01.dbf');
sys.dbms_backup_restore.restoreBackupPiece
(done=>done,handle=>'/home/oracle/oracle/oradata/dagl/B7K3BN2E_1_1',
params=>null);
sys.dbms_backup_restore.deviceDeallocate;
END;
/
上面的路徑和檔名根據不同資料庫,作相應修改
經過這些步驟,就能看到,資料檔案已經恢復到相應目錄了
我在這個時候,準備open資料庫
alter database open;
錯誤就在這裡出現了………………
提示system表空間需要restore ◎◎
去RMAN下,rman target sys/sys@dagl as sysdba
執行,restore database;
執行過程中,發現還在尋找windows路徑下的備份檔案……
而找了半天資料,也沒找到怎麼去改這個資訊……
後來發現,control檔案中可能會包含備份檔案資訊
(因為朋友的RMAN沒有catalog,所以RMAN會自動用control檔案替代catalog)
另外,出現system需要restore提示,可能是control檔案中的SCN和資料檔案不一致
所以,就猜想,這三個控制檔案,可能不是生成備份檔案時候的
而且RMAN備份的時候,可以選擇包含控制檔案
另外,在恢復了資料檔案後,可能還需要到RMAN下set newname
set newname for datafile 1 to '/home/oracle/oracle/oradata/dagl/system01.dbf';
之後,switch datafile 1;
但目前無法試驗正確與否
看來試驗只能先暫時到此……
回頭告訴朋友一聲,讓他按照我這個步驟走走
看能不能在他的兩臺同系統下,完成恢復吧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/556359/viewspace-526727/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 再來Oracle的RMAN異地異系統恢復,總算能open了Oracle
- RMAN異地恢復實戰
- oracle的RMAN異機恢復Oracle
- Oracle RMAN異機恢復Oracle
- ORACLE RMAN異機異目錄恢復Oracle
- rman恢復方案和oracle異機恢復Oracle
- RMAN異機恢復異作業系統(Linux到Windows)作業系統LinuxWindows
- Oracle異地資料庫恢復Oracle資料庫
- Oracle 12c RMAN 異機恢復Oracle
- Oracle 11g RMAN 異機恢復Oracle
- oracle基於歸檔的增量異地恢復Oracle
- 生產系統恢復到異機測試
- RMAN異機恢復總結
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- oracle 異機恢復Oracle
- Oracle資料庫冷備份的異地恢復Oracle資料庫
- oracle10gR2之RMAN異機恢復案例Oracle
- oracle 10.2.0.1 win 32 rman 備份異機恢復Oracle
- Rman_異地、跨平臺、跨版本的恢復總結及案例
- rman之同平臺異機恢復
- Oracle RMAN恢復測試Oracle
- oracle11gR2_64之ASM到檔案系統的rman異機恢復完整案例OracleASM
- RMAN恢復案例:丟失非系統資料檔案恢復
- oracle rman之丟失spfile恢復Oracle
- RMAN異機恢復:RAC到單例項單例
- 異機恢復RMAN-05517解決方法
- RMAN備份異機恢復流程總結
- oracle冷備份、恢復和異機恢復Oracle
- 【11g 庫異地恢復】實驗
- 兩篇oracle異機恢復文章Oracle
- Oracle 11.2.0.4 從單例項,使用RMAN 異機恢復到RACOracle單例
- RMAN基於備份控制檔案恢復失敗
- RMAN異地恢復(ORA-06553: PLS-801: internal error [56319])Error
- OceanBase-OB備份異地恢復流程
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- ORACLE 11.2.0.4 RAC RMAN異機恢復之ORA-15001Oracle
- 用 RMAN 備份異機恢復 遷移資料
- Oracle asm磁碟損壞異常恢復OracleASM