ORACLE ADR 不能直接执行repair failure,需要先执行advice failure,生成修复脚本



正确答案:D

 

一、模拟上题的错误:

1、删除4号文件

[html]  view plain  copy
  1. [oracle@mydb ~]$ cd /u01/app/oracle/oradata/ocm/  
  2. [oracle@mydb ocm]$ rm -rf users01.dbf  

2、数据库宕机

[html]  view plain  copy
  1. sys@OCM> shutdown abort;  
  2. ORACLE instance shut down.  

3、启动数据库报错,与上题报错一样

[html]  view plain  copy
  1. sys@OCM> startup  
  2. ORACLE instance started.  
  3.   
  4. Total System Global Area  839282688 bytes  
  5. Fixed Size                  2233000 bytes  
  6. Variable Size             583011672 bytes  
  7. Database Buffers          247463936 bytes  
  8. Redo Buffers                6574080 bytes  
  9. Database mounted.  
  10. ORA-01157: cannot identify/lock data file 4 - see DBWR trace file  
  11. ORA-01110: data file 4: '/u01/app/oracle/oradata/ocm/users01.dbf'  

4、如果试图在没有执行advise failure命令时使用repair failure命令,将出现如下错误:

[html]  view plain  copy
  1. [oracle@mydb ~]$ rman target /  
  2. RMAN> repair failure;  
  3.   
  4. using target database control file instead of recovery catalog  
  5. RMAN-00571: ===========================================================  
  6. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
  7. RMAN-00571: ===========================================================  
  8. RMAN-03002: failure of repair command at 09/01/2013 23:15:16  
  9. RMAN-06954: REPAIR command must be preceded by ADVISE command in same session  

   主要原因是:在运行repairfailure之前,要先运行advise failure,让rman列出错误,并且生成修复脚本,之后运行repair failure修复错误。

一、正确的恢复的过程如下:

1、      启动RMAN客户机,并使用前一节介绍的数据库修复命令来解决丢失数据问题,我们从list failure命令开始:

[html]  view plain  copy
  1. RMAN> list failure;  
  2.   
  3. List of Database Failures  
  4. =========================  
  5.   
  6. Failure ID Priority Status    Time Detected Summary  
  7. ---------- -------- --------- ------------- -------  
  8. 2002       HIGH     OPEN      01-SEP-13     One or more non-system datafiles are missing  


2、advisefailure命令对记录在自动诊断信息库中的所有故障给出建议。默认时,此命令只列出具有critical或high优先级的那些故障。除了产生所有输入故障的摘要外,此命令还对每个故障提供一个建议修复选项。通常,advise failure命令同时给出自动和手动修复选项。在advisefailure命令输出结束时,RMAN生成一个脚本,列出建议的修复选项的细节。如果你想自己进行修复,可以直接使用这个脚本,或者对它进行修改。

  

[html]  view plain  copy
  1. RMAN> advise failure;  
  2.   
  3. List of Database Failures  
  4. =========================  
  5.   
  6. Failure ID Priority Status    Time Detected Summary  
  7. ---------- -------- --------- ------------- -------  
  8. 2002       HIGH     OPEN      01-SEP-13     One or more non-system datafiles are missing  
  9.   
  10. analyzing automatic repair options; this may take some time  
  11. allocated channel: ORA_DISK_1  
  12. channel ORA_DISK_1: SID=10 device type=DISK  
  13. analyzing automatic repair options complete  
  14.   
  15. Mandatory Manual Actions  
  16. ========================  
  17. no manual actions available  
  18.   
  19. Optional Manual Actions  
  20. =======================  
  21. 1. If file /u01/app/oracle/oradata/ocm/users01.dbf was unintentionally renamed or moved, restore it  
  22.   
  23. Automated Repair Options  
  24. ========================  
  25. Option Repair Description  
  26. ------ ------------------  
  27. 1      Restore and recover datafile 4    
  28.   Strategy: The repair includes complete media recovery with no data loss  
  29.   Repair script: /u01/app/oracle/diag/rdbms/ocm/ocm/hm/reco_3275375759.hm  

3、利用advise failure命令提供的建议,epair  failure根据建议修复错误。

[html]  view plain  copy
  1. RMAN> repair failure;  
  2.   
  3. Strategy: The repair includes complete media recovery with no data loss  
  4. Repair script: /u01/app/oracle/diag/rdbms/ocm/ocm/hm/reco_3275375759.hm  
  5.   
  6. contents of repair script:  
  7.    # restore and recover datafile  
  8.    restore datafile 4;  
  9.    recover datafile 4;  
  10.    sql 'alter database datafile 4 online';  
  11.   
  12. Do you really want to execute the above repair (enter YES or NO)? Y  
  13. executing repair script  
  14.   
  15. Starting restore at 01-SEP-13  
  16. using channel ORA_DISK_1  
  17.   
  18. channel ORA_DISK_1: starting datafile backup set restore  
  19. channel ORA_DISK_1: specifying datafile(s) to restore from backup set  
  20. channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ocm/users01.dbf  
  21. channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/dbs/0uoiptgq_1_1  
  22. channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/dbs/0uoiptgq_1_1 tag=TAG20130901T230250  
  23. channel ORA_DISK_1: restored backup piece 1  
  24. channel ORA_DISK_1: restore complete, elapsed time: 00:00:03  
  25. Finished restore at 01-SEP-13  
  26.   
  27. Starting recover at 01-SEP-13  
  28. using channel ORA_DISK_1  
  29.   
  30. starting media recovery  
  31. media recovery complete, elapsed time: 00:00:01  
  32.   
  33. Finished recover at 01-SEP-13  
  34.   
  35. sql statement: alter database datafile 4 online  
  36. repair failure complete  
  37.   
  38. Do you want to open the database (enter YES or NO)? Y  
  39. database opened  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值