Data Recovery Advisor 是11g新特性,是Oracle顾问程序架构的一部分,它会在遇到错误时自动收集有关故障信息。如果主动运行Data Recovery Advisor,通常可以在用户查询或备份操作检查到故障前检测和修复故障。Data Recovery Advisor可以检测到诸如块受损的相对较小的错误,也可以检测到导致数据库无法成功启动的错误,如缺少联机重做日志文件,数据文件等。Data Recovery Advisor会主动捕获这些错误。

Data Recovery Advisor确定故障后,可以使用EM或RMAN界面查看故障详情,在Rman中可以使用list backup,advise failure,repair failure和

change failure命令,下面说下这些命令的作用:

list failure:列出Data Recovery Advisor记录的故障;

advise failure:显示建议修复的选项;

repair failure:使用rman的建议和关闭故障;

change failure:更改状态或关闭故障。

一、list failure命令包含多个选项,具体使用的选项取决于需要查看的错误类型:

(1)  failnum:列出每个故障的详细信息,按故障编号列出,如list failure 42。

(2)  ALL:列出所有故障,如list failure all。

(3)  CRITICAL:列出导致数据库不可用的故障。

(4)  HIGH:列出导致数据库不可用的严重故障,如缺少数据文件或redo文件

(5)  LOW:列出可以在解决较严重故障问题后再予以解决的间歇性故障或优先级较低的故障,如很少使用到的坏块。

(6)  CLOSED:仅列出关闭的故障。

(7)  EXCLUDE FAILURE:从列表中排除指定的故障号。

(8)  DETAIL:通过展开合并的故障列出故障。例如,如果一个文件中有多个块损坏,则DETAIL选项将列出每个块损坏。

注:其中CRITICAL,HIGH,LOW指故障的优先级。

如:

RMAN> LIST FAILURE;

RMAN> LIST FAILURE DETAIL;

RMAN> LIST FAILURE 42;

RMAN>LIST FAILURE ALL;

二、advise failure

1)  显示输入故障列表概要

(2)  包括警告(如果ADR 中出现新故障)

(3)  显示手动核对清单

(4)  列出一个建议的修复选项

(5)  生成修复脚本(用于自动或手动修复)

如:

RMAN>ADVISE FAILURE

三、repair failure

repair failure默认会使用本次会话中advise failure所产生的脚本

repair failure preview:不执行修复,而是显示先前生成的包含所有修复操作和注释的RMAN 脚本。

repair failure noprompt:不要求确认,repare failure 默认需要确认

四、change failure

CHANGE FAILURE 命令用于更改故障优先级或关闭一个或多个故障。

语法:

CHANGE FAILURE

{ ALL | CRITICAL | HIGH | LOW |failnum[,failnum,…] }

[ EXCLUDE FAILURE failnum[,failnum,…] ]

{ PRIORITY {CRITICAL | HIGH | LOW} |

CLOSE } - 将故障的状态更改为已关闭

[ NOPROMPT ] - 不要求用户进行确认

可以使用change  failure改变故障优先级,但只能从high更改为low或low改为high,不能更改citical的优先级。

例如:

RMAN>change failure 307 priority  low;

五、与DRA相关的视图:

(1)  V$IR_FAILURE:所有故障的列表,包括已关闭的故障(LIST FAILURE 命令的结果)

(2)  V$IR_MANUAL_CHECKLIST:手动建议的列表(ADVISE FAILURE命令的结果)

(3)  V$IR_REPAIR:修复列表(ADVISE FAILURE 命令的结果)

(4)  V$IR_FAILURE_SET:故障和建议标识符的交叉引用

六、下面模拟一个数据故障,然后用RMAN修复该故障:

1.创建表空间test;

SQL> create tablespace tbs_test01 datafile '+DATA/c1/datafile/tbs_test01.dbf' size 50M;

Tablespace created.

2.创建用户

SQL> create user test identified by xyc default tablespace tbs_test01;

User created.

3.创建表并插入数据提交

SQL> conn test/xyc
Connected.
SQL> create table test01(
  2  id int,
  3  name varchar2(32));

Table created.

SQL> insert into test01 values(1,'xyc');

1 row created.

SQL> commit;

4.脱机表空间tbs_test01中数据文件

SQL> alter database datafile 5 offline;

Database altered.

5. 再次插入数据报错

SQL>  insert into test01   select * from test01;
 insert into test01   select * from test01
             *
ERROR at line 1:
ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '+DATA/c1/datafile/tbs_test01.dbf'

6.list failure

RMAN> list failure;

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

Failure ID Priority Status    Time Detected Summary
---------- -------- --------- ------------- -------
42         HIGH     OPEN      10-SEP-13     One or more non-system datafiles need media recovery

7.advise failure

RMAN> advise failure;

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

Failure ID Priority Status    Time Detected Summary
---------- -------- --------- ------------- -------
42         HIGH     OPEN      10-SEP-13     One or more non-system datafiles need media recovery

analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=43 device type=DISK
analyzing automatic repair options complete

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

Optional Manual Actions
=======================
1. If you restored the wrong version of data file +DATA/c1/datafile/tbs_test01.dbf, then replace it with the correct one

Automated Repair Options
========================
Option Repair Description
------ ------------------
1      Recover datafile 5 
  Strategy: The repair includes complete media recovery with no data loss
  Repair script: /u01/app/oracle/diag/rdbms/c1/c1/hm/reco_1783687286.hm

8.repair failure

RMAN> repair failure
2> ;

Strategy: The repair includes complete media recovery with no data loss
Repair script: /u01/app/oracle/diag/rdbms/c1/c1/hm/reco_1783687286.hm

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

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

sql statement: alter database datafile 5 offline

Starting recover at 10-SEP-13
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:01

Finished recover at 10-SEP-13

sql statement: alter database datafile 5 online
repair failure complete

9.再次插入数据

SQL>  insert into test01   select * from test01;

1 row created.

Data Recovery Advisor(数据恢复顾问)的更多相关文章

  1. Data Recovery Advisor (DRA)

    数据恢复指导Data Recovery Advisor (DRA)的适用场景:Data Recovery Advisor 是11g 新特性,是Oracle 顾问程序架构的一部分,它会在遇到错误时自动收 ...

  2. DRA(Data Recovery Advisor)的使用

    关于DRA的官方描述: The simplest way to diagnose and repair database problems is to use the Data Recovery Ad ...

  3. 转:主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Undelete 360

    转自:Baidu 空间 2012-10-05 13:57 主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Und ...

  4. Android Data Recovery for Mac(安卓数据恢复软件)破解版安装

    1.软件简介    Android Data Recovery 是 macOS 系统上一款 Android 设备数据恢复软件,能够帮助我们在 mac 电脑上对 Android 设备进行数据恢复,文档. ...

  5. Aiseesoft Data Recovery 1.1.6 专业数据恢复软件破解版

    Aiseesoft Data Recovery是专业的数据恢复软件,它可以帮助你恢复几乎所有删除/丢失的文件,如照片,文件,电子邮件,音频,视频且支持从计算机,硬盘驱动器,闪存驱动器,存储卡,数码相机 ...

  6. 数据恢复(Data recovery)

    定义数据恢复: 当存储介质出现损伤或由于人员误操作.操作系统故障本身故障所造成的数据不可见,无法读取.丢失. 工程师通过特殊的手段读取却在正常状态下不可见,不可读,无法读的数据. 数据恢复(Data ...

  7. 数据恢复顾问(DRA)

    (1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文件和(某些环境下)控制文件的损坏,它不提供spfile和logfile的修复 ...

  8. 使用Percona Data Recovery Tool for InnoDB恢复数据

      运维工作中难免会发生一些误操作,当数据库表被误操作删除需要紧急恢复,或者没有备份时,Percona Data Recovery Tool for InnoDB这个工具也已提供一些便捷的恢复. 当然 ...

  9. VMware Data Recovery备份恢复vmware虚拟机

    VMware Data Recovery 是VMware虚拟机备份工具,可创建虚拟机备份,同时不会中断虚拟机的使用或虚拟机提供的数据和服务.Data Recovery 管理现有备份,并在这些备份过时后 ...

随机推荐

  1. android armeabi与armeabi-v7a

    我在armeabi下增加了百度的库: libBaiduMapSDK_v2_4_1.so 可是却报错说找不到库.我发如今libs下还有另外一个目录: armeabi-v7a 然后我把libBaiduMa ...

  2. C#数组集合使用 排序的问题

    //没有顺序 //ArrayList a = new ArrayList(); //a.Add("asda"); //a.Add("asda222222"); ...

  3. Android创建与读取Excel

    主流的操作Excel的有两种方法,一种是通过poi包,另一种是通过jxl包.这里我主要讲解通过jxl包来读写Excel. 首先需要导入一个jxl.jar包. 下载地址:http://www.andyk ...

  4. 极光IM使用教程-极光推送

    链接地址:http://jingyan.baidu.com/article/a948d65178a6ea0a2ccd2e7e.html 极光IM使用教程,如果您的 App 需要同时集成 Push 功能 ...

  5. SQL Server 基础 01 数据库、表操作

    对着书慢慢学习,一天一点点! 数据库操作 (create.alter.drop)  --3-3-1 /create database 语句创建数据库 create database testSQL - ...

  6. CentOS 如何安装git server + Gitolite 【配置不成功需要再测试2015-8-20】

    安装git 关于安装git  可以参考 http://gitolite.com/gitolite/install.html 里面有官方的介绍 1. Git 的工作需要调用 curl,zlib,open ...

  7. RESTful最佳实践之基于 jersey 的增删改查

    jersey-rest-demo 增删改查 项目地址:https://github.com/CoderDream/jersey-rest-demo 源代码:http://download.csdn.n ...

  8. 解说cocos2d-x几种画图方法的用法与思考

    CCRenderTexture 自己的理解 CCRenderTexture类似一张空白的“画布“,用户通过自定义笔刷(CCSprite*),在touch事件中把笔刷的移动痕迹“记录”起来,从而“画”出 ...

  9. C++如何屏蔽双击运行程序功能?

    问题描述: 我们开发过程中可能会经常遇到,需要屏蔽EXE的双击运行功能,只能通过宿主程序(Service或EXE)来启动.比如腾讯的迷你弹窗,就只能通过主程序来启动,而不能直接通过双击来运行. 实现原 ...

  10. 它们偷偷干了啥?教你监督APP的运行

    由于Android系统的开放性,很多APP都会在后台运行各种我们不知道的权限,不仅泄露我们隐私,也给系统本身带来极大安全隐患.而且现在很普遍的是,在安装APP时它总会索取特别多的权限,又是拍照又是地理 ...