使用数据恢复顾问ADR
数据恢复顾问使用Health Monitor收集的信息查找问题,然后构建RMAN脚本进行修复。与任何基于RMAN的实用
程序一样,必须启动实例。要用nomount模式启动实例,只需要一个参数文件。RMAN实际上能够在不使用参数
文件的情况下启动实例,它使用ORACLE_SID环境变量作为一个没有默认值的参数(DB_NAME参数)的默认值。这
意味着,可以完全从零开始引导还原和恢复操作。
使用DRA的流程如下:
*访问数据故障:如果根据需要被动运行Health Monitor,则将错误详细信息写入ADR.
*列出故障:DRA将列出所有故障,按严重程度予以分类。
*提供修复建议:DRA将生成用来修复损坏的RMAN脚本。
*执行修复:运行脚本
可以从RMAN可执行程序或Database Control运行这些命令。运行后只为前面列出的错误生成建议,并且
建议将处于打开状态。不会为列出后发生的附加错误生成任何建议。
(注:如果存在一个多多个故障,通常应该使用list failure来显示有关故障的信息,然后在同一rman会话中使
用advise failure来获得修复的报告).
如下:
1.发现stu01.dbf丢失
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 778387456 bytes
Fixed Size 1374808 bytes
Variable Size 327157160 bytes
Database Buffers 444596224 bytes
Redo Buffers 5259264 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'D:\DATA\STU01.DBF'
2.登录rman可执行程序
C:\Documents and Settings\Administrator>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期一 8月 5 11:47:46 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1324535298, 未打开)
3.列出当前的所有故障
RMAN> list failure
2> ;
使用目标数据库控制文件替代恢复目录
数据库故障列表
=========================
失败 ID 优先级状态 检测时间 概要
------- -------- --------- ---------- -------
1002 HIGH OPEN 04-8月 -13 缺失一个或多个非系统数据文件
4.生成修复故障的建议
RMAN> advise failure
2> ;
数据库故障列表
=========================
失败 ID 优先级状态 检测时间 概要
------- -------- --------- ---------- -------
1002 HIGH OPEN 04-8月 -13 缺失一个或多个非系统数据文件
正在分析自动修复选项; 这可能需要一些时间
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
分析自动修复选项完成
必需的手动操作
========================
没有可用的手动操作
可选手动操作
=======================
1. 如果无意中重命名或移动了文件 D:\DATA\STU01.DBF, 请还原该文件
自动修复选项
========================
选项修复说明
------ ------------------
1 还原和恢复数据文件 7
策略: 修复操作包括无数据丢失的完全介质恢复
修复脚本: d:\oraclepx\tools\oracle11g\diag\rdbms\orcl\orcl\hm\reco_2962440781.
hm
5.查看生成的脚本内容:
# restore and recover datafile restore datafile 7; recover datafile 7;
6.运行生成的修复脚本:
RMAN> repair failure
2> ;
策略: 修复操作包括无数据丢失的完全介质恢复
修复脚本: d:\oraclepx\tools\oracle11g\diag\rdbms\orcl\orcl\hm\reco_2962440781.hm
修复脚本的内容:
# restore and recover datafile
restore datafile 7;
recover datafile 7;
是否确实要执行以上修复 (输入 YES 或 NO)? y
执行修复脚本
启动 restore 于 05-8月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00007 还原到 D:\DATA\STU01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_ARE
A\ORCL\BACKUPSET\2013_08_05\O1_MF_NNNDF_TAG20130805T110200_8ZY5F8JM_.BKP
通道 ORA_DISK_1: 段句柄 = D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\B
ACKUPSET\2013_08_05\O1_MF_NNNDF_TAG20130805T110200_8ZY5F8JM_.BKP 标记 = TAG20130
805T110200
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 05-8月 -13
启动 recover 于 05-8月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:01
完成 recover 于 05-8月 -13
修复故障已完成
是否要打开数据库 (输入 YES 或 NO)? y
数据库已打开
RMAN>
(注:如果不首先要求DRA列出故障,则DRA不会生成任何建议,对于最近一次列出之后发生的任何故障或修复的
任何故障,DRA不提供任何建议)
DRA可以生成脚本,以还原受损或丢失的控制文件副本,重新生成丢失的联机日志文件组,并还原和恢复丢失
或受损的数据文件。如果多重日志文件组的成员受损,它将不会采取任何操作。