将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;
时间: 2024-10-03 02:04:17