radata/mvbox/sysaux02.dbf';
set newname for datafile 7 to '/data/oracledata/oradata/mvbox/users02.dbf';
set newname for datafile 8 to '/data/oracledata/oradata/mvbox/users03.dbf';
set newname for datafile 9 to '/data/oracledata/oradata/mvbox/users04.dbf';
set newname for datafile 10 to '/data/oracledata/oradata/mvbox/users05.dbf';
set newname for datafile 12 to '/data/oracledata/oradata/mvbox/users06.dbf';
set newname for datafile 13 to '/data/oracledata/oradata/mvbox/system03.dbf';
set newname for datafile 14 to '/data/oracledata/oradata/mvbox/sysaux03.dbf';
set newname for datafile 27 to '/data/oracledata/oradata/mvbox/users19.dbf';
set newname for datafile 15 to '/data/oracledata/oradata/mvbox/users07.dbf';
set newname for datafile 16 to '/data/oracledata/oradata/mvbox/users08.dbf';
set newname for datafile 17 to '/data/oracledata/oradata/mvbox/users09.dbf';
set newname for datafile 18 to '/data/oracledata/oradata/mvbox/users10.dbf';
set newname for datafile 19 to '/data/oracledata/oradata/mvbox/users11.dbf';
set newname for datafile 20 to '/data/oracledata/oradata/mvbox/users12.dbf';
set newname for datafile 21 to '/data/oracledata/oradata/mvbox/users13.dbf';
set newname for datafile 22 to '/data/oracledata/oradata/mvbox/users14.dbf';
set newname for datafile 23 to '/data/oracledata/oradata/mvbox/users15.dbf';
set newname for datafile 24 to '/data/oracledata/oradata/mvbox/users16.dbf';
set newname for datafile 25 to '/data/oracledata/oradata/mvbox/users17.dbf';
set newname for datafile 26 to '/data/oracledata/oradata/mvbox/users18.dbf';
set newname for datafile 28 to '/data/oracledata/oradata/mvbox/users20.dbf';
set newname for datafile 33 to '/data/oracledata/oradata/mvbox/users21.dbf';
set newname for datafile 34 to '/data/oracledata/oradata/mvbox/users22.dbf';
set newname for datafile 35 to '/data/oracledata/oradata/mvbox/undotbs.dbf';
restore database;
switch datafile all;
}
找到生产数据库传输过来的归档日志文件,找到最后一个文件

恢复到最后一个归档日志文件序列.
run{
CONFIGURE DEVICE TYPE DISK PARALLELISM 5 BACKUP TYPE TO BACKUPSET;
set until sequence 7939;?
recover database;
}
然后open数据库
生产库有block change tracking
还原库可以关闭
另外,查看恢复的时间点
alter database disable block change tracking;
?
alter database open read only;
select to_char(scn_to_timestamp(CURRENT_SCN),'yyyy-mm-dd HH24:mi:ss') ts from v$database;
这时候,还原库已经搭建完成.
生产库有一个程序,每隔30分钟,会将归档日志传送过来.
还原库这边,只需要定期恢复即可(恢复到6小时之前)
0 */3 * * * /root/testoracle.sh
#!/bin/bash
? source ~/.bashrc
? ? rman target / <? ? shutdown
? ? startup mount
? ? catalog start with '/data/IP' noprompt;
? ? recover database until time "sysdate - interval '6' hour";
? ? sql 'alter database open read only';
EOF
7.把还原库拉起到读写模式.
? ? 如果到了第七步,就有麻烦了.
? ? 这意味着,生产数据库挂了,DataGuard的备机也挂了.
? ? 只能把还原库拉起来暂时作为生产库使用.
? ? 尝试将停留在下午4点的还原库,恢复至下午6点,并拉起为读写模式。
恢复之前

执行RMAN命令
rman:
shutdown;
startup mount;
catalog start with '/data/IP' noprompt;
recover database until time "to_date('20150925 18:00:00','yyyymmdd hh24:mi:ss')";
? ? RMAN执行
RMAN> shutdown;
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down
RMAN> startup mount;
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area 53687091200 bytes
Fixed Size 2184048 bytes
Variable Size 4546628752 bytes
Database Buffers 49123688448 bytes
Redo Buffers 14589952 bytes
RMAN> cat