NBU 还原windows ORACLE数据库(BW)

Posted Snowfun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NBU 还原windows ORACLE数据库(BW)相关的知识,希望对你有一定的参考价值。

将0.92数据库还原到1.92,还原时间7月13日

1.查询所需要的控制日志

bplist -C bw-prd01 -s 2017-7-2 -e 2017-7-15 -k oracle_bw-prd01_0_92_arch -t 4 -R -b -l  / |findstr "cnt"

(第2、3步可并行)

2.开始还原控制文件

进入rman,数据库起到nomount利用备份文件进行控制文件还原

rman target /
startup nomount
run{
 allocate channel ch00 type \'SBT_TAPE\';
 send \'nb_ora_serv=nbumaster01\';
 send \'nb_ora_client= bw-prd01\';
 restore controlfile from \'cntrl_1705_1_949284511\';
 release channel ch00;
}

3.还原数据文件(开到mount状态)

alter database mount;

run{
 allocate channel ch00 type \'SBT_TAPE\';
 allocate channel ch01 type \'SBT_TAPE\';
 send \'nb_ora_serv=nbumaster01\';
 send \'nb_ora_client=bw-prd01\';
set newname for datafile 1 to \'E:\\ERPORACLE\\DATAFILE\\SYSTEM.DATA1\';
set newname for datafile 2 to \'E:\\ERPORACLE\\DATAFILE\\SYSAUX.DATA1\';
set newname for datafile 3 to \'E:\\ERPORACLE\\DATAFILE\\UNDO.DATA1\';
set newname for datafile 4 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA1\';
set newname for datafile 5 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA2\';
set newname for datafile 6 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA1\';
set newname for datafile 7 to \'E:\\ERPORACLE\\DATAFILE\\SR3USR.DATA1\';
set newname for datafile 8 to \'E:\\ERPORACLE\\DATAFILE\\SR740.DATA1\';
set newname for datafile 9 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA3\';
set newname for datafile 10 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA4\';
set newname for datafile 11 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA5\';
set newname for datafile 12 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA6\';
set newname for datafile 13 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA7\';
set newname for datafile 14 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA2\';
set newname for datafile 15 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA3\';
set newname for datafile 16 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA4\';
set newname for datafile 17 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA5\';
set newname for datafile 18 to \'E:\\ERPORACLE\\DATAFILE\\SR3740.DATA6\';
set newname for datafile 19 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA8\';
set newname for datafile 20 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA9\';
set newname for datafile 21 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA10\';
set newname for datafile 22 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA11\';
set newname for datafile 23 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA12\';
set newname for datafile 24 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA13\';
set newname for datafile 25 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA14\';
set newname for datafile 26 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA15\';
set newname for datafile 27 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA16\';
set newname for datafile 28 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA17\';
set newname for datafile 29 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA18\';
set newname for datafile 30 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA19\';
set newname for datafile 31 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA20\';
set newname for datafile 32 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA21\';
set newname for datafile 33 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA22\';
set newname for datafile 34 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA23\';
set newname for datafile 35 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA24\';
set newname for datafile 36 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA25\';
set newname for datafile 37 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA26\';
set newname for datafile 38 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA27\';
set newname for datafile 39 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA28\';
set newname for datafile 40 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA29\';
set newname for datafile 41 to \'E:\\ERPORACLE\\DATAFILE\\SR3.DATA30\';
set newname for tempfile 1 to \'E:\\ERPORACLE\\DATAFILE\\TEMP.DATA1\';
set newname for tempfile 2 to \'E:\\ERPORACLE\\DATAFILE\\TEMP.DATA2\';
 restore  database
 until time "to_date(\'2017/07/13\',\'yyyy/mm/dd\')";
SWITCH DATAFILE ALL;
SWITCH TEMPFILE ALL;
 release channel ch00;
 release channel ch01;
}

可直接运行第5步看缺少哪些归档日志

4.查询SEQUENCE号,还原归档日志

sqlplus / as sysdba

alter session set nls_date_format=\'YYYYMMDD HH24:MI:SS\'; 
set linesize 160;
set pagesize;

select THREAD#,SEQUENCE#,FIRST_TIME,COMPLETION_TIME from v$archived_log 
where --SEQUENCE# IN(63145);
COMPLETION_TIME>to_date(\'20170713 09:00:00\',\'yyyymmdd hh24:mi:ss\') 
and    COMPLETION_TIME<to_date(\'20170713 11:00:00\',\'yyyymmdd hh24:mi:ss\')
order by SEQUENCE#;

--还原归档日志 rman target
/ run{ allocate channel ch0 type \'SBT_TAPE\'; allocate channel ch1 type \'SBT_TAPE\'; send \'NB_ORA_CLIENT=bw-prd01\'; send \'nb_ora_serv=nbumaster01\'; restore archivelog sequence between 63430 and 65699; release channel ch0; release channel ch1; }

5.恢复数据库

run{
allocate channel ch0 type \'SBT_TAPE\';
allocate channel ch1 type \'SBT_TAPE\';
send \'NB_ORA_CLIENT=bw-prd01\';
send \'nb_ora_serv=nbumaster01\';
recover database;
release channel ch0;
release channel ch1;
}


sqlplus / as sysdba
alter database open resetlogs;

OR

sqlplus / as sysdba
alter session set nls_date_format=\'YYYY/MM/DD HH24:MI:SS\';
recover database until time \'2017/07/13 10:00:00\' using backup controlfile;
alter database open resetlogs;

 

以上是关于NBU 还原windows ORACLE数据库(BW)的主要内容,如果未能解决你的问题,请参考以下文章

NBU异构还原Oracle完整备份的一些总结

NBU5240备份系统还原数据库---Windows版

大道浮屠诀---NBU7.7.3_oracle11G单机-单机(异机恢复WINDOWS2008平台)

怎样查看NBU现有的备份的虚拟机

NBU ORACLE MIDDB

100天精通Oracle-实战系列(第14天)Veritas NetBackup(NBU) 配合 RMAN 脚本备份 Oracle 数据库