Data Recovery Advisor(数据恢复顾问)
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(数据恢复顾问)的更多相关文章
- Data Recovery Advisor (DRA)
数据恢复指导Data Recovery Advisor (DRA)的适用场景:Data Recovery Advisor 是11g 新特性,是Oracle 顾问程序架构的一部分,它会在遇到错误时自动收 ...
- DRA(Data Recovery Advisor)的使用
关于DRA的官方描述: The simplest way to diagnose and repair database problems is to use the Data Recovery Ad ...
- 转:主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Undelete 360
转自:Baidu 空间 2012-10-05 13:57 主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Und ...
- Android Data Recovery for Mac(安卓数据恢复软件)破解版安装
1.软件简介 Android Data Recovery 是 macOS 系统上一款 Android 设备数据恢复软件,能够帮助我们在 mac 电脑上对 Android 设备进行数据恢复,文档. ...
- Aiseesoft Data Recovery 1.1.6 专业数据恢复软件破解版
Aiseesoft Data Recovery是专业的数据恢复软件,它可以帮助你恢复几乎所有删除/丢失的文件,如照片,文件,电子邮件,音频,视频且支持从计算机,硬盘驱动器,闪存驱动器,存储卡,数码相机 ...
- 数据恢复(Data recovery)
定义数据恢复: 当存储介质出现损伤或由于人员误操作.操作系统故障本身故障所造成的数据不可见,无法读取.丢失. 工程师通过特殊的手段读取却在正常状态下不可见,不可读,无法读的数据. 数据恢复(Data ...
- 数据恢复顾问(DRA)
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文件和(某些环境下)控制文件的损坏,它不提供spfile和logfile的修复 ...
- 使用Percona Data Recovery Tool for InnoDB恢复数据
运维工作中难免会发生一些误操作,当数据库表被误操作删除需要紧急恢复,或者没有备份时,Percona Data Recovery Tool for InnoDB这个工具也已提供一些便捷的恢复. 当然 ...
- VMware Data Recovery备份恢复vmware虚拟机
VMware Data Recovery 是VMware虚拟机备份工具,可创建虚拟机备份,同时不会中断虚拟机的使用或虚拟机提供的数据和服务.Data Recovery 管理现有备份,并在这些备份过时后 ...
随机推荐
- parquet 合并元数据
合并元数据:两个数据集,有着一部分相同的列,将他们合并成一个数据集时merge的过程. 合并的规则:相同的列,在新的数据集中,是通用的列, 各自不同的列,也作为新的数据集的列. Spark将数据写入到 ...
- Spring MVC视图层:thymeleaf vs. JSP
本文对比了同一Spring MVC工程中相同页面(一个订阅表单)分别采用Thymeleaf和JSP(包括JSP.JSTL.Spring tag lib)两种方式的实现. 本文的所有代码来自一个可运行的 ...
- m2eclipse简单使用,创建Maven项目 ,运行mvn命令(转)
前面介绍了如何安装m2eclipse,现在,我们使用m2ecilpse导入Hello World项目. 选择菜单项File,然后选择Import,我们会看到一个Import对话框,在该对话框中选择Ge ...
- Navicat连接oracle,出现Only compatible with oci version 8.1 and&nb
与本地oracle连接的时候,一般没问题.sqlplus和oci都是本地oracle自带的.(设置: 工具->选项->oci) 分别为: oci:D:\app\pcman\produc ...
- 动态字符串 Stringbuilder类
StringBuilder动态字符串 string 类型的修改会浪费资源,如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类, stringbuild ...
- 用反射,将DataRow行转为Object对象
/// <summary> /// 反射辅助类 /// </summary> public class ReflectionHelper { /// <summary&g ...
- const对象默认是static的,而不是extern的
const 和 static 变量,可以放在头文件中 const对象默认是static的,而不是extern的,所以即使放在头文件中声明和定义.多个cpp引用同一个头文件,互相也没有感知,所以不会导致 ...
- Nodejs 项目开发
最近这几个月都在学习nodejs. 国内nodejs的资料相对较少,就我所搜索到的,CSDN目前的代码托管平台有不少从github弄过来的开源镜像,其它的不错的社区有cnodejs,byvoid的个人 ...
- Eclipse用法和技巧二:自动生成Main方法1
刚开始编写java小程序,基本都要用到main方法.后期开发大一点的程序,也可以用main方法进行单元测试.总是编写main方法,感觉太无聊了,幸好Eclipse可以帮我们自动生成main方法.见图: ...
- Qt显示调用vs中的dll
网上看到很多文章写调用vc的dll,但我尝试了总是出问题,下面结合参考别人的文章,实现了Qt显示调用vs中c接口的dll. 具体直接上代码: vs中的代码: TMax.h: #ifdef TMAX # ...