1. 从spfile生成pfile,检查各个路径是否可用,如果不可用,就修改路径
SQL> create pfile='/opt/ora10g/oradata/backup/pfile.ora' from spfile='/opt/ora10g/oradata/backup/spfileaegis.ora';
File created.
2. 从修改过后的pfile生成spfile
SQL> create spfile='$ORACLE_HOME/dbs/spfileaegis.ora' from pfile='/opt/ora10g/oradata/backup/pfile.ora';
File created.
3. 打开数据库至nomount状态,从备份文件恢复控制文件,由于没有了数据库,所以要先设好DBID
RMAN> set DBID=926899843
executing command: SET DBID
RMAN> startup nomount;
RMAN> restore controlfile from '/opt/ora10g/oradata/backup/c-926899843-20111112-00';
4. 打开数据库至mount状态,全库恢复,注意备份文件要放在和原来库一样的路径下,因为控制文件会去那个地方找备份文件
RMAN> restore database;
RMAN> recover database;
这里会报个错
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 11/12/2011 11:37:45
RMAN-06054: media recovery requesting unknown log: thread 1 seq 6 lowscn 799342
因为本来就不是一致性备份,联机重做日志没过来。
5. 以resetlogs打开数据库
RMAN> alter database open resetlogs;