RMAN中如果丢失控制文件,用下面的方法恢复
SQL>shutdown immediate
startup force nomount
rman target /
set dbid= XXXXXXXXXX (这个具体数值需要看平时备份的日志,所以备份日志最好保留一份)
指定特定的备份集才行: restore controlfile from '/opt/rman_backup/control.bak';
然后再根据情况来进行数据库恢复
如果出现恢复出来的控制文件与数据文件的SCN不相同时,极有可能需要重建控制文件,重建语法如下
CREATE CONTROLFILE REUSE DATABASE orcl NORESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/opt/oracle/oradata/orcl/redo01.log' SIZE 100M,
GROUP 2 '/opt/oracle/oradata/orcl/redo02.LOG' SIZE 100M,
GROUP 3 '/opt/oracle/oradata/orcl/redo03.log' SIZE 100M
DATAFILE
'/opt/oracle/oradata/orcl/system01.dbf',
'/opt/oracle/oradata/orcl/undotbs01.dbf',
'/opt/oracle/oradata/orcl/indx01.dbf',
'/opt/oracle/oradata/orcl/tools01.dbf',
'/opt/oracle/oradata/orcl/users01.dbf'
CHARACTER SET ZHS16GBK ;
然后
shutdown immediate
startup mount
recover database using backup controlfile until cancel;
alter database open resetlogs;
然后马上做一个全备
具体的帖可以参考:
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12482/viewspace-810122/ ,如需转载,请注明出处,否则将追究法律责任。