using target database control file insteadof recovery catalog
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- --------------------
282 HIGH OPEN 11-OCT-12 One or morenon-system datafiles are corrupt
注意:
Listfailure 命令会显示任何open 状态的failures,并会优先显示critical 或high的failure,如果没有类似的failure,那么会显示low 的failures。
2.3 RMAN ADVISE FAILURE
RMAN> advise failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- --------------------
282 HIGH OPEN 11-OCT-12 One or more non-system datafiles arecorrupt
analyzing automatic repair options; thismay take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
analyzing automatic repair options complete
Mandatory Manual Actions
========================
no manual actions available
Optional Manual Actions
=======================
no manual actions available
Automated Repair Options
========================
Option Repair Description
------ ------------------
1 Restore and recover datafile 4
Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/dave/dave/hm/reco_1992614502.hm
--这里能恢复的前提是有有效的RMAN 备份,否则这里不能进行restore。
--这个是恢复的脚本:可以手动执行,也可以使用自动执行:
[oracle@dave ~]$cat/u01/app/oracle/diag/rdbms/dave/dave/hm/reco_1992614502.hm
#restore and recover datafile
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
2.4 RMAN REPAIR FAILURE
RMAN> repair failure preview;
Strategy: The repair includes completemedia recovery with no data loss
Repair script:/u01/app/oracle/diag/rdbms/dave/dave/hm/reco_1992614502.hm
contents of repair script:
#restore and recover datafile
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
--默认情况下,repair failure 命令会提示用户确认修复,这里我们使用noprompt跳过验证:
RMAN> repair failure noprompt;
Strategy: The repair includes completemedia recovery with no data loss
Repair script:/u01/app/oracle/diag/rdbms/dave/dave/hm/reco_1992614502.hm
contents of repair script:
#restore and recover datafile
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
executing repair script
Starting restore at 11-OCT-12
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafilebackup set restore
channel ORA_DISK_1: specifying datafile(s)to restore from backup set
channel ORA_DISK_1: restoring datafile00004 to /u01/app/oracle/oradata/anqing/users01.dbf
channel ORA_DISK_1: reading from backuppiece /u01/backup/ave_lev0_0bnnh6co_1_1_20121011
channel ORA_DISK_1: piecehandle=/u01/backup/ave_lev0_0bnnh6co_1_1_20121011 tag=DAVE_LEV0
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete,elapsed time: 00:00:07
Finished restore at 11-OCT-12
Starting recover at 11-OCT-12
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time:00:00:01
Finished recover at 11-OCT-12
sql statement: alter database datafile 4online
repair failure complete
database opened
RMAN>
2.5 RMAN CHANGE FAILURE
Change failure 命令可以改变failure的级别,在2.2 节,我们的failure级别是high。如果有一个failure,在我们没有修复之前,或者暂时不想修复,那么我们就可以调低它的级别,级别的修改不影响系统的正常使用。
如:
RMAN> CHANGEFAILUR