Oracle数据恢复顾问(DRA)

Oracle数据恢复顾问(DRA)

    曾经处理过硬盘上数据损坏或者数据丢失的问题么?结果,尽管你还处在诊断和分析问题发生的阶段,最终用户和经理已经联系你,并且希望知道解决问题的大概时间(ETA)了。你是否希望拥有一个简单,并且更为重要的是,快速的方法来诊断和修复这种类型的故障呢?
继续阅读,来了解Oracle数据恢复顾问(DRA)在这种情况下是如何帮助我们的吧!

    数据恢复顾问(Data Recovery Advisor)是一款Oracle数据库工具。该工具会自动诊断数据故障,确定并提出相应修复方案,并执行客户要求的修复。以上修复是基于数据故障是一个硬盘上持久性数据的损坏或者丢失。

    数据恢复顾问会在遇到问题时,自动采集数据故障信息,并且,协助执行对于故障的修复。你可以手动修复一个数据故障,或者要求数据恢复顾问来为你执行修复动作。

    DRA可以通过企业管理器(EM)Grid Control和/或者恢复管理器(RMAN)来访问。本文将概述在RMAN中使用的命令。

在RMAN中,有四种DRA的命令:

  • List Failure - 列出先前执行过的故障评估结果。可能的话,重新验证现有故障并关闭它们。
  • Advise Failure - 提出手动和自动修复方案。
  • Repair Failure - 通过运行由ADVISE FAILURE建议的最佳修复方案来自动修复故障。完成之后会重新验证现有故障。
  • Change Failure - 使你可以改变故障的状态。

例如:下面的步骤有关于一次事故,当一个数据文件已经从操作系统上删除,数据库报告错误。

一个select语句执行失败,并报出如下错误:

   SQL> select * from emp;
   select * from emp
   *
   ERROR at line 1:
   ORA-01116: error in opening database file 4
   ORA-01110: data file 4: '/u01/V112_oradata/users01.dbf'
   ORA-27041: unable to open file
   Linux Error: 2: No such file or directory
   Additional information: 3 

DRA命令 ‘list failure’提供了此次问题的详细信息:

   Recovery Manager: Release 11.2.0.3.0 - Production on Wed Aug 21 10:12:36 2013
   Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

   connected to target database: V112 (DBID=2335388877)

   RMAN> list failure;

   using target database control file instead of recovery catalog
   List of Database Failures
   =========================
   Failure ID Priority Status    Time      Detected Summary
   ---------- -------- --------- --------- --------------------------------------------
   82         HIGH     OPEN      21-AUG-13 One or more non-system datafiles are missing 

 做为DRA的下一步操作,使用命令'advise failure',获得修复该问题的建议方案:

   RMAN> advise failure;

   List of Database Failures
   =========================

   Failure ID Priority Status    Time Detected Summary
   ---------- -------- --------- ------------- -------
   82         HIGH     OPEN      21-AUG-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=28 device type=DISK
   analyzing automatic repair options complete

   Mandatory Manual Actions
   ========================
   no manual actions available

   Optional Manual Actions
   =======================
   1. If file /u01/V112_oradata/users01.dbf was unintentionally renamed or moved, restore it
   2. If file /u01/V112_oradata/test01.dbf was unintentionally renamed or moved, restore it

   Automated Repair Options
   ========================
   Option Repair Description
   ------ ------------------
   1 Restore and recover datafile 4; Restore and recover datafile 5
    Strategy: The repair includes complete media recovery with no data loss
    Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm 

DRA信息中描述了,2个数据文件的缺失,并且建议还原和恢复。

如前所述,DRA可以修复故障。执行修复脚本之前,可以预览所建议的命令:

   RMAN> repair failure preview;

   Strategy: The repair includes complete media recovery with no data loss
   Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm

   contents of repair script:
    # restore and recover datafile
    sql 'alter database datafile 4, 5 offline';
    restore datafile 4, 5;
    recover datafile 4, 5;
    sql 'alter database datafile 4, 5 online'; 

现在,你可以决定是否手动运行上面的脚本或让DRA来执行修复:

   RMAN> repair failure;

   Strategy: The repair includes complete media recovery with no data loss
   Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm

   contents of repair script:
    # restore and recover datafile
    sql 'alter database datafile 4, 5 offline';
    restore datafile 4, 5;
    recover datafile 4, 5;
    sql 'alter database datafile 4, 5 online';

   Do you really want to execute the above repair (enter YES or NO)? yes
   executing repair script

   sql statement: alter database datafile 4, 5 offline

   Starting restore at 21-AUG-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/V112_oradata/users01.dbf
   channel ORA_DISK_1: restoring datafile 00005 to /u01/V112_oradata/test01.dbf
   channel ORA_DISK_1: reading from backup piece 
   /u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_nnndf_TAG20130821T100251_919l4f2p_.bkp
   channel ORA_DISK_1: piece
   handle=/u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_nnndf_TAG20130821T100251_919l4f2p_.bkp
   tag=TAG20130821T100251
   channel ORA_DISK_1: restored backup piece 1
   channel ORA_DISK_1: restore  complete, elapsed time: 00:00:35
   Finished restore at 21-AUG-13

   Starting recover at 21-AUG-13
   using channel ORA_DISK_1

   archived log for thread 1 with sequence 79 is already on disk as file 
   /u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_79_919lm6y2_.arc
   channel ORA_DISK_1: starting archived log restore to default destination
   channel ORA_DISK_1: restoring archived log
   archived log thread=1 sequence=77
   channel ORA_DISK_1: restoring archived log
   archived log thread=1 sequence=78
   channel ORA_DISK_1: reading from backup piece 
   /u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_annnn_TAG20130821T101028_919llo3n_.bkp
   channel ORA_DISK_1: piece 
   handle=/u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_annnn_TAG20130821T101028_919llo3n_.bkp
   tag=TAG20130821T101028
   channel ORA_DISK_1: restored backup piece 1
   channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
   archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_77_919ltj5h_.arc
   thread=1 sequence=77
   channel default: deleting archived log(s)
   archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_77_919ltj5h_.arc 
   RECID=50 STAMP=824033680
   archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_78_919ltj7o_.arc 
   thread=1 sequence=78
   channel default: deleting archived log(s)
   archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_78_919ltj7o_.arc 
   RECID=51 STAMP=824033680
   media recovery complete, elapsed  time: 00:00:00
   Finished recover at 21-AUG-13

   sql statement: alter database       datafile 4, 5 online
   repair failure complete 
  

一旦成功完成修复脚本,这个问题应该得到解决,并且select语句返回预期的结果:

   SQL> select * from emp;
   EMPNO ENAME    JOB       MGR   HIREDATE  SAL  COMM  DEPTNO
   ----- -------- --------- ----- --------- ---- ----- ------
    7900 JAMES    CLERK     7698  03-DEC-81  950       30
    7902 FORD     ANALYST   7566  03-DEC-81 3000       20
    7934 MILLER   CLERK     7782  23-JAN-82 1300       10 

更多信息 / 参考文献 :

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值