当前位置:操作系统 > Unix/Linux >>

[每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure

[每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure
 

 
正确答案:D
 
一、模拟上题的错误:
1、删除4号文件
[html] 
[oracle@mydb ~]$ cd /u01/app/oracle/oradata/ocm/  
[oracle@mydb ocm]$ rm -rf users01.dbf  

2、数据库宕机
[html] 
sys@OCM> shutdown abort;  
ORACLE instance shut down.  

3、启动数据库报错,与上题报错一样
[html] 
sys@OCM> startup  
ORACLE instance started.  
  
Total System Global Area  839282688 bytes  
Fixed Size                  2233000 bytes  
Variable Size             583011672 bytes  
Database Buffers          247463936 bytes  
Redo Buffers                6574080 bytes  
Database mounted.  
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file  
ORA-01110: data file 4: '/u01/app/oracle/oradata/ocm/users01.dbf'  

4、如果试图在没有执行advise failure命令时使用repair failure命令,将出现如下错误:
[html] 
[oracle@mydb ~]$ rman target /  
RMAN> repair failure;  
  
using target database control file instead of recovery catalog  
RMAN-00571: ===========================================================  
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
RMAN-00571: ===========================================================  
RMAN-03002: failure of repair command at 09/01/2013 23:15:16  
RMAN-06954: REPAIR command must be preceded by ADVISE command in same session  

 

 
   主要原因是:在运行repairfailure之前,要先运行advise failure,让rman列出错误,并且生成修复脚本,之后运行repair failure修复错误。
一、正确的恢复的过程如下:
1、      启动RMAN客户机,并使用前一节介绍的数据库修复命令来解决丢失数据问题,我们从list failure命令开始:
 
[html] 
RMAN> list failure;  
  
List of Database Failures  
=========================  
  
Failure ID Priority Status    Time Detected Summary  
---------- -------- --------- ------------- -------  
2002       HIGH     OPEN      01-SEP-13     One or more non-system datafiles are missing  

 

 
2、advisefailure命令对记录在自动诊断信息库中的所有故障给出建议。默认时,此命令只列出具有critical或high优先级的那些故障。除了产生所有输入故障的摘要外,此命令还对每个故障提供一个建议修复选项。通常,advise failure命令同时给出自动和手动修复选项。在advisefailure命令输出结束时,RMAN生成一个脚本,列出建议的修复选项的细节。如果你想自己进行修复,可以直接使用这个脚本,或者对它进行修改。
  
[html] 
RMAN> advise failure;  
  
List of Database Failures  
=========================  
  
Failure ID Priority Status    Time Detected Summary  
---------- -------- --------- ------------- -------  
2002       HIGH     OPEN      01-SEP-13     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=10 device type=DISK  
analyzing automatic repair options complete  
  
Mandatory Manual Actions  
========================  
no manual actions available  
  
Optional Manual Actions  
=======================  
1. If file /u01/app/oracle/oradata/ocm/users01.dbf was unintentionally renamed or moved, restore it  
  
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/ocm/ocm/hm/reco_3275375759.hm  

3、利用advise failure命令提供的建议,epair  failure根据建议修复错误。
[html] 
RMAN> repair failure;  
  
Strategy: The repair includes complete media recovery with no data loss  
Repair script: /u01/app/oracle/diag/rdbms/ocm/ocm/hm/reco_3275375759.hm  
  
contents of repair script:  
   # restore and recover datafile  
   restore datafile 4;  
   recover datafile 4;  
   sql 'alter database datafile 4 online';  
  
Do you really want to execute the above repair (enter YES or NO)? Y  
executing repair script  
  
Starting restore at 01-SEP-13  
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 00004 to /u01/app/oracle/oradata/ocm/users01.dbf  
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/dbs/0uoiptgq_1_1  
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/dbs/0uoiptgq_1_1 tag=TAG20130901T230250  
channel ORA_DISK_1: restored backup piece 1  
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03  
Finished restore at 01-SEP-13  
  
Starting recover at 01-SEP-13  
using channel ORA_DISK_1  
  
starting media recovery  
media recovery complete, elapsed time: 00:00:01  
  
Finished recover at 01-SEP-13  
  
sql statement: alter database datafile 4 online  
repair failure complete  
  
Do you want to open the database (enter YES or NO)? Y  
database opened  

 


CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,