windows平台的異機恢復,目錄不同
1.異機環境准備
安裝oracle介質
安裝nbu客戶端
在異機主機的host文件中添加nbu server主機和原主機信息
2.恢復spfile文件
C:\>oradim -new -sid ybb SQL> startup nomount C:\> rman target / RMAN> set dbid= 884218943 RMAN> run { allocate channel ch02 type 'sbt_tape' parms="ENV=(NB_ORA_CLIENT=olddb,NB_ORA_SERV=netbackup)"; restore spfile from 'c-884218943-20160628-03'; release channel ch02; } 分配的通道: ch02 通道 ch02: SID=130 設備類型=SBT_TAPE 通道ch02: Veritas NetBackup for Oracle - Release 7.6 (20141027) 啟動 restore 於 19-7月 -16 通道 ch02: 正在從 AUTOBACKUP c-884218943-20160628-03 還原 spfile 通道 ch02: 從 AUTOBACKUP 還原 SPFILE 已完成 完成 restore 於 19-7月 -16 釋放的通道: ch02
3.恢復控制文件
RMAN> run { 2> allocate channel ch03 type 'sbt_tape' 3> parms="ENV=(NB_ORA_CLIENT=olddb,NB_ORA_SERV=netbackup)"; 4> restore controlfile from 'c-884218943-20160629-03'; 5> release channel ch03; 6> } 分配的通道: ch03 通道 ch03: SID=63 設備類型=SBT_TAPE 通道ch03: Veritas NetBackup for Oracle - Release 7.6 (20141027) 啟動 restore 於 19-7月 -16 通道 ch03: 正在還原控制文件 通道 ch03: 還原完成, 用時: 00:00:07 輸出文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\CONTROL01.CTL 輸出文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\CONTROL02.CTL 完成 restore 於 19-7月 -16 釋放的通道: ch03
4.將數據庫置於mount狀態
RMAN> sql 'alter database mount';
5.恢復數據文件
RMAN> run{ 2> allocate channel ch01 type 'sbt_tape'; 3> SEND 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=olddb'; 4> set newname for datafile 'D:\app\Administrator\oradata\ybb\SYSTEM01.DBF' to 'C:\app\Administrator\oradata\ybb\SYSTEM01.DBF'; 5> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF'; 6> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF'; 7> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF'; 8> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF'; 9> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF'; 10> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF'; 11> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF'; 12> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF'; 13> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF'; 14> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF'; 15> restore database; 16> switch datafile all; 17> recover database until scn 272947828; 18> release channel ch01; 19> } 分配的通道: ch01 通道 ch01: SID=63 設備類型=SBT_TAPE 通道ch01: Veritas NetBackup for Oracle - Release 7.6 (20141027) 向通道發命令: ch01 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 正在執行命令: SET NEWNAME 啟動 restore 於 20-7月 -16 通道 ch01: 正在開始還原數據文件備份集 通道 ch01: 正在指定從備份集還原的數據文件 通道 ch01: 將數據文件 00001 還原到 C:\app\Administrator\oradata\ybb\SYSTEM01.DBF 通道 ch01: 將數據文件 00002 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF 通道 ch01: 將數據文件 00003 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF 通道 ch01: 將數據文件 00004 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF 通道 ch01: 將數據文件 00005 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF 通道 ch01: 將數據文件 00006 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF 通道 ch01: 將數據文件 00007 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF 通道 ch01: 將數據文件 00008 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF 通道 ch01: 將數據文件 00009 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF 通道 ch01: 將數據文件 00010 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF 通道 ch01: 將數據文件 00011 還原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF 通道 ch01: 正在讀取備份片段 bk_dybb_u95r99ttg_s3365_p1_t915732400 通道 ch01: 段句柄 = bk_dybb_u95r99ttg_s3365_p1_t915732400 標記 = TAG20160628T180639 通道 ch01: 已還原備份片段 1 通道 ch01: 還原完成, 用時: 00:04:56 完成 restore 於 20-7月 -16 數據文件 1 已轉換成數據文件副本 輸入數據文件副本 RECID=15 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSTEM01.DBF 數據文件 2 已轉換成數據文件副本 輸入數據文件副本 RECID=16 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF 數據文件 3 已轉換成數據文件副本 輸入數據文件副本 RECID=17 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF 數據文件 4 已轉換成數據文件副本 輸入數據文件副本 RECID=18 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF 數據文件 5 已轉換成數據文件副本 輸入數據文件副本 RECID=19 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF 數據文件 6 已轉換成數據文件副本 輸入數據文件副本 RECID=20 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF 數據文件 7 已轉換成數據文件副本 輸入數據文件副本 RECID=21 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF 數據文件 8 已轉換成數據文件副本 輸入數據文件副本 RECID=22 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF 數據文件 9 已轉換成數據文件副本 輸入數據文件副本 RECID=23 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF 數據文件 10 已轉換成數據文件副本 輸入數據文件副本 RECID=24 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF 數據文件 11 已轉換成數據文件副本 輸入數據文件副本 RECID=25 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF 啟動 recover 於 20-7月 -16 正在開始介質的恢復 通道 ch01: 正在開始將歸檔日志還原到默認目標 通道 ch01: 正在還原歸檔日志 歸檔日志線程=1 序列=25090 通道 ch01: 正在讀取備份片段 arch_dybb_u97r99ue8_s3367_p1_t915732936 通道 ch01: 段句柄 = arch_dybb_u97r99ue8_s3367_p1_t915732936 標記 = TAG20160628T181535 通道 ch01: 已還原備份片段 1 通道 ch01: 還原完成, 用時: 00:00:25 歸檔日志文件名=C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\RDBMS\ARC0000025090_0818501732.0001 線程=1 序列=25090 介質恢復完成, 用時: 00:00:00 完成 recover 於 20-7月 -16 釋放的通道: ch01
6.打開數據庫
RMAN> alter database open resetlogs; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: alter db 命令 (在 07/20/2016 11:08:53 上) 失敗 ORA-00344: 無法重新創建聯機日志 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG' ORA-27040: 文件創建錯誤, 無法創建文件 OSD-04002: 無法打開文件 O/S-Error: (OS 21) 設備未就緒。
7.針對上一步出現的錯誤,重命名redo日志
SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG'; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01B.LOG'; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02A.LOG'; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02B.LOG'; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03A.LOG'; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03B.LOG';
8.重新打開數據庫
RMAN> alter database open resetlogs; 數據庫已打開 RMAN>