如果你的数据库文件彻底挂了,啥都没了,手上只有一个rman备份,那么:
1:重建spfile
restore spfile from '/backup/rmanbak/EAMS_inc0_20140325_04p429r5';
2:重建controlfile
restore controlfile from '/backup/rmanbak/EAMS_inc0_20140325_04p429r5';
3:restore
restore database;
4:recover
recover database;
此时会报错,提示的是备份片不全。其实此时用的是level 0的备份,备份片是全的,但是只备份了数据库文件,没有备份日志文件的。此时日志文件也丢失了。
可以sqlplus 进去,然后:
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
shutdown immediate;
startup mount;
alter database open resetlogs;
alter system set "_allow_resetlogs_corruption"=false scope=spfile;
shutdown immediate;
startup;
此时alter database open resetlogs可能会挂,可以尝试先删掉所有日志文件:
slect * from v$log;
然后将所有的group xxxxx,进行:
alter database clear logfile group xxxxx;