关于DRA的官方描述:
下面我们来做一个小实验来实际体会下DRA的便利性:
1.rman登录到目标数据库
[oracle@JY-DB BACKUP]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 5 11:15:12 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: JYZHAO (DBID=2463175424, not open)
RMAN> LIST FAILURE;
using target database control file instead of recovery catalog
no failures found that match specification
可以看到目前数据库没有找到需要恢复的匹配项。
2.我们这里模拟丢失了一个数据文件
#2.1 正常关库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
#2.2 删除数据文件+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319
#直接删除数据文件会报错
ASMCMD> rm DBS_D_JINGYU.259.886871319
ORA-15032: not all alterations performed
ORA-15028: ASM file '+DATA1/jyzhao/datafile/DBS_D_JINGYU.259.886871319' not dropped; currently being accessed (DBD ERROR: OCIStmtExecute)
#数据库关闭后删除成功
ASMCMD> rm DBS_D_JINGYU.259.886871319
ASMCMD>
#2.3 尝试打开数据库报错
SQL> startup
ORACLE instance started.
Total System Global Area 1620115456 bytes
Fixed Size 2253704 bytes
Variable Size 905972856 bytes
Database Buffers 704643072 bytes
Redo Buffers 7245824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: '+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319'
3.观察DRA是如何恢复数据库的
## 3.1 LIST FAILURE; ##
RMAN> LIST FAILURE;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
4042 HIGH OPEN 05-AUG-15 One or more non-system datafiles are missing
3.2 ADVISE FAILURE;
RMAN> ADVISE FAILURE;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
4042 HIGH OPEN 05-AUG-15 One or more non-system datafiles are missing
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=25 device type=DISK
analyzing automatic repair options complete
Mandatory Manual Actions
========================
no manual actions available
Optional Manual Actions
=======================
1. If file +DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319 was unintentionally renamed or moved, restore it
2. Try flush redo using ALTER SYSTEM FLUSH REDO TO 'standby name' command. Then perform a Data Guard role change (failover). Available standbys: jyzhao_s.
Automated Repair Options
========================
Option Repair Description
------ ------------------
1 Restore and recover datafile 15
Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/hm/reco_4099084102.hm
3.3 REPAIR FAILURE;
RMAN> REPAIR FAILURE;
Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/hm/reco_4099084102.hm
contents of repair script:
# restore and recover datafile
restore datafile 15;
recover datafile 15;
sql 'alter database datafile 15 online';
Do you really want to execute the above repair (enter YES or NO)? yes
executing repair script
Starting restore at 05-AUG-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00015 to +DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/arch/JYZHAO/backupset/2015_08_05/o1_mf_nnndf_TAG20150805T102730_bw2x4m1l_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/arch/JYZHAO/backupset/2015_08_05/o1_mf_nnndf_TAG20150805T102730_bw2x4m1l_.bkp tag=TAG20150805T102730
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 05-AUG-15
Starting recover at 05-AUG-15
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 05-AUG-15
sql statement: alter database datafile 15 online
repair failure complete
Do you want to open the database (enter YES or NO)? yes
database opened
RMAN>
到此,使用DRA自动恢复完毕并成功打开数据库。