re from AUTOBACKUP complete
Finished restore at 14-NOV-14
重启nomout
RMAN> startup nomount force;
Oracle instance started
Total System Global Area 613797888 bytes
Fixed Size 2255712 bytes
Variable Size 427820192 bytes
Database Buffers 180355072 bytes
Redo Buffers 3366912 bytes
恢复控制文件
RMAN> restore controlfile from '/u01/backup/control20141114 .bak';
Starting restore at 14-NOV-14
using channel ORA_DISK_1
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Finished restore at 14-NOV-14
RMAN> startup mount
RMAN>restore database;
如果这一步没法执行可以使用list incarnation产看相关信息,切换一下再执行
reset database to incarnation XX;
RMAN> recover database;
RMAN-03002: failure of recover command at 11/14/2014 22:19:36
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 13 and starting SCN of 1208284
这一步竟然报错了,后来我发现没有执行catalog
然后我执行了catalog start with ‘/u01/backup/’;
完了再次执行recover
但是还是出错现了同样的错误
然后我执行list backup of archivelog all查看后,执行了以下脚本就好了
RMAN> run {
2> set until scn 1208284;
3> recover database;
4> }
executing command: SET until clause
Starting recover at 14-NOV-14
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 14-NOV-14
然后登陆数据库执行
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-19751: could not create the change tracking file
ORA-19750: change tracking file:
'/u01/app/oracle/oradata/orcl/ORCL/changetracking/o1_mf_b51rj77x_.chg'
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 1
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
又出错了,我就去/u01/app/oracle/oradata/orcl/ORCL/changetracking/目录查看没有这个目录
然后我执行了
SQL>ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
然后关闭数据库shutdown immediate;
再执行startup;
数据库成功启动

搞这个异机恢复,第一次搞了2天,头都大了,好多解决方法都没用,以上为个人遇到的问题,希望对一些遇到同类问题的朋友有帮助
改变change tracking file的位置
1) 不关闭数据库的方式
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'new_location';
注意:这种方式会丢失change tracking file的内容