使用NBU进行oracle异机恢复

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:APPADMINISTRATORORADATAybbCONTROL01.CTL
输出文件名=C:APPADMINISTRATORORADATAybbCONTROL02.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:appAdministratororadataybbSYSTEM01.DBF'    to 'C:appAdministratororadataybbSYSTEM01.DBF';
5> set newname for datafile 'D:APPADMINISTRATORORADATAybbSYSAUX01.DBF'    to 'C:APPADMINISTRATORORADATAybbSYSAUX01.DBF';
6> set newname for datafile 'D:APPADMINISTRATORORADATAybbUNDOTBS01.DBF'    to 'C:APPADMINISTRATORORADATAybbUNDOTBS01.DBF';
7> set newname for datafile 'D:APPADMINISTRATORORADATAybbUSERS01.DBF'    to 'C:APPADMINISTRATORORADATAybbUSERS01.DBF';
8> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_DATA01.DBF'    to 'C:APPADMINISTRATORORADATAybbNNC_DATA01.DBF';
9> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_DATA02.DBF'    to 'C:APPADMINISTRATORORADATAybbNNC_DATA02.DBF';
10> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_DATA03.DBF'    to 'C:APPADMINISTRATORORADATAybbNNC_DATA03.DBF';
11> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_INDEX01.DBF'    to 'C:APPADMINISTRATORORADATAybbNNC_INDEX01.DBF';
12> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_INDEX02.DBF'   to 'C:APPADMINISTRATORORADATAybbNNC_INDEX02.DBF';
13> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_INDEX03.DBF'  to 'C:APPADMINISTRATORORADATAybbNNC_INDEX03.DBF';
14> set newname for datafile 'D:APPADMINISTRATORORADATAybbNNC_DATA0101.DBF'  to 'C:APPADMINISTRATORORADATAybbNNC_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:appAdministratororadataybbSYSTEM01.DBF
通道 ch01: 将数据文件 00002 还原到 C:APPADMINISTRATORORADATAybbSYSAUX01.DBF
通道 ch01: 将数据文件 00003 还原到 C:APPADMINISTRATORORADATAybbUNDOTBS01.DBF
通道 ch01: 将数据文件 00004 还原到 C:APPADMINISTRATORORADATAybbUSERS01.DBF
通道 ch01: 将数据文件 00005 还原到 C:APPADMINISTRATORORADATAybbNNC_DATA01.DBF
通道 ch01: 将数据文件 00006 还原到 C:APPADMINISTRATORORADATAybbNNC_DATA02.DBF
通道 ch01: 将数据文件 00007 还原到 C:APPADMINISTRATORORADATAybbNNC_DATA03.DBF
通道 ch01: 将数据文件 00008 还原到 C:APPADMINISTRATORORADATAybbNNC_INDEX01.DBF
通道 ch01: 将数据文件 00009 还原到 C:APPADMINISTRATORORADATAybbNNC_INDEX02.DBF
通道 ch01: 将数据文件 00010 还原到 C:APPADMINISTRATORORADATAybbNNC_INDEX03.DBF
通道 ch01: 将数据文件 00011 还原到 C:APPADMINISTRATORORADATAybbNNC_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:APPADMINISTRATORORADATAybbSYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=16 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbSYSAUX01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=17 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbUNDOTBS01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=18 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbUSERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 RECID=19 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbNNC_DATA01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=20 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbNNC_DATA02.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 RECID=21 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbNNC_DATA03.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 RECID=22 STAMP=917694346 文件名=C:APPADMINISTRATORORADATAybbNNC_INDEX01.DBF
数据文件 9 已转换成数据文件副本
输入数据文件副本 RECID=23 STAMP=917694347 文件名=C:APPADMINISTRATORORADATAybbNNC_INDEX02.DBF
数据文件 10 已转换成数据文件副本
输入数据文件副本 RECID=24 STAMP=917694347 文件名=C:APPADMINISTRATORORADATAybbNNC_INDEX03.DBF
数据文件 11 已转换成数据文件副本
输入数据文件副本 RECID=25 STAMP=917694347 文件名=C:APPADMINISTRATORORADATAybbNNC_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:APPADMINISTRATORPRODUCT11.2.0DBHOME_1RDBMSARC0000025090_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:APPADMINISTRATORORADATAybbREDO01A.LOG'

ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 21) 设备未就绪。

7.针对上一步出现的错误,重命名redo日志

SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO01A.LOG' to  'C:APPADMINISTRATORORADATAybbREDO01A.LOG';
SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO01B.LOG' to  'C:APPADMINISTRATORORADATAybbREDO01B.LOG';
SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO02A.LOG' to  'C:APPADMINISTRATORORADATAybbREDO02A.LOG';
SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO02B.LOG' to  'C:APPADMINISTRATORORADATAybbREDO02B.LOG';
SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO03A.LOG' to  'C:APPADMINISTRATORORADATAybbREDO03A.LOG';
SQL>  alter database rename file  'D:APPADMINISTRATORORADATAybbREDO03B.LOG' to  'C:APPADMINISTRATORORADATAybbREDO03B.LOG';

8.重新打开数据库

RMAN> alter database open resetlogs;

数据库已打开

RMAN>
原文地址:https://www.cnblogs.com/abclife/p/5687993.html