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. Python获取当地的天气和随意城市的天气

    先从中国天气网得到数据('http://www.weather.com.cn/data/cityinfo/'+城市编码),每一个城市都有各自的编码,怎样得到用户所在地的城市编码呢?用一个网页就是专门干 ...

  2. unix网络编程之listen()详解

    转自于:http://blog.csdn.net/ordeder/article/details/21551567 Unix网络编程描述如下: #include <sys/socket.h> ...

  3. stm32中断优先级

    VIC_IRQChannelPreemptionPriority:先占优先级  NVIC_IRQChannelSubPriority:从优先级 高先占优先级中断可以打断低先占优先级的中断,即可中断嵌套 ...

  4. android通过服务实现消息推送

    这里运用到的andorid知识模块主要有Notification和Service,和一个android-async-http-master开源框架 android项目中,有时会有这样一种需求:客户每隔 ...

  5. 08-UIKit(UITableTableViewCell、自定义Cell、xcode调试)

    目录: 1. UITableTableViewCell 2. tag技术 3. 自定义Cell 4. 用nib文件构造自定义的静态表 5. TableView数据模型总结 6. Xcode代码调试 & ...

  6. Android ReceiverCallNotAllowedException: BroadcastReceiver components are not allowed to register to receive intents

    ReceiverCallNotAllowedException mContext.registerReceiver()不能在BroadcastReceiver的onReceive()里面调用 可以通过 ...

  7. CCIE路由实验(6) -- 组播Multicasting

    1.组播IGMP的各种情况2.PIM Dense-Mode3.PIM Sparse-Mode4.PIM双向树和SSM5.动态RP之auto-rp6.动态RP之BSR7.Anycast RP8.域间组播 ...

  8. ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected解决方法

    在进行物理主备库角色转换的时候遇到ORA-01093错误 SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY; ALTER ...

  9. Spring源代码解析 ---- 循环依赖

    一.循环引用: 1. 定义: 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比方CircularityA引用CircularityB,CircularityB引用Circularit ...

  10. boost uuid 学习笔记

    #include <vector>#include <iostream>#include <boost/uuid/uuid.hpp>#include <boo ...