ORACLE FAILURE ADVISE

         oracle数据故障恢复指导 是一种内置的工具,可自动诊断数据故障并报告相应的修复选项。例如,如果数据恢复指导发现存在许多损坏的块,它会建议还原整个文件,而不是分别修复这些块。因此,它有助于您执行正确的故障修复。可以手动修复数据故障,也可以请求数据恢复指导为您执行修复,从而缩短故障恢复的时间。

1、LIST FAILURE

        该命令可列出故障。如果目标实例使用恢复目录,它可以处于STARTED 模式下,否则必须处于MOUNTED 模式下。LIST FAILURE 命令不启动诊断新故障检查;它将列出先前执行的评估结果。重复执行LIST FAILURE 命令将重新验证所有现有的故障。

如果数据库诊断出新的故障(在命令执行之间),则会显示这些新故障。

如果用户手动修复故障或临时故障消失,则数据恢复指导会将这些故障从LIST FAILURE 输出中删除。

以下是语法说明:

(1)  failnum:为其显示修复选项的故障数。

(2)  ALL:列出所有优先级的故障。

(3)  CRITICAL:列出优先级为CRITICAL 且处于OPEN 状态的故障。这些故障使整个数据库不可用(如控制文件缺失),因此需要立即引起注意。

(4)  HIGH:列出优先级为HIGH 且处于OPEN状态的故障。这些故障使数据库部分不可用或不可恢复,因此应尽快修复(如归档重做日志缺失)。

(5)  LOW:列出优先级为LOW 且处于OPEN状态的故障。低优先级的故障可以等到修复了更重要的故障后再进行修复。

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

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

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

如:

RMAN> LIST FAILURE;

RMAN> LIST FAILURE DETAIL;

2、ADVISE FAILURE

        该命令对记录在自动诊断信息库中的所有故障给出建议。默认时,此命令只列出具有critical或high优先级的那些故障。除了产生所有输入故障的摘要外,此命令还对每个故障提供一个建议修复选项。通常,advise failure命令同时给出自动和手动修复选项。

        在advise failure命令输出结束时,RMAN生成一个脚本,列出建议的修复选项的细节。如果你想自己进行修复,可以直接使用这个脚本,或者对它进行修改。仔细阅读RMAN生成的脚本可帮助你避免耗时的修复工作。此脚本也称为手动检查表(manual checklist),当你可以自己用很小的改动解决故障,而不是用RMAN进行费力的复原和恢复操来作处理问题时,此脚本很有用。例如,可以从一个测试/接收环境方便地恢复一个被删除了的引用表,不用让RMAN复原和恢复整个生产数据库。

在运行了advise failure命令后,可查询V$IR_MANUAL_CHECKLIST视图查看手动建议。

        advise failure命令可能只提供手动选项或自动修复选项。当然,你必须自己执行手动活动,而DRA可以执行建议的所有自动修复选项。在可能的情况下,DRA合并一组修复,使得能在单个修复作业中处理多个故障。

         当DRA为处理故障提出一个自动修复选项时,它总是创建一个修复脚本,给出它修复故障要使用的RMAN命令。  
 

如果喜欢自己控制修复活动,可手动执行此修复脚本(即使提供了自动修复选项),不用让DRA自动执行它。

修复故障

当RMAN提供了它的故障修复建议后,可以选择运行repair failure命令处理和关闭特定的故障。如果advise failure命令建议了手动修复,那么在要求Data Recovery Advisor自动撤销故障之前,应该首先执行这些修复。report failure命令只能在使用了advise failure命令后执行。

3、REPAIR FAILURE

        该命令应在同一RMAN 会话中的ADVISE FAILURE 命令后使用。默认情况下(没有选项),该命令使用当前会话中上次执行ADVISE FAILURE 时建议的一个修复选项。如果没有任何修复选项,REPAIRFAILURE 命令将启动隐式ADVISE FAILURE 命令。

默认情况下,您需要确认是否执行该命令,因为可能需要花费时间完成大量更改。在执行修复期间,该命令的输出将表明正在执行的修复阶段。

修复完成后,该命令会关闭故障。 

用途:

(1)  遵循ADVISE FAILURE 命令

(2)  修复指定的故障

(3)  关闭已修复的故障

语法:

REPAIR FAILURE

[PREVIEW]

[NOPROMPT] 

         无法运行多个并发修复会话。但是,允许并发REPAIR … PREVIEW 会话。

(1)  PREVIEW 表示:不执行修复,而是显示先前生成的包含所有修复操作和注释的RMAN 脚本。

(2)  NOPROMPT 表示:不要求确认。 

如:

RMAN> REPAIR FAILURE PREVIEW; --只预览修复过程,不实际执行修复工作

RMAN> REPAIR FAILURE; 

4、CHANGE FAILURE

        该命令只能将故障优先级从HIGH 更改为LOW 和从LOW 更改为HIGH。更改CRITICAL 优先级会出现错误。(将故障的优先级从HIGH 更改为LOW 的一个原因是为了避免该故障显示在LIST FAILURE 命令的默认输出列表中。例如,如果块损坏具有HIGH 优先级,则该块位于很少使用的表空间中时,您可能希望将其临时更改为LOW。)

修复故障后,将隐式关闭打开的故障。但是,也可以显式关闭故障。这需要重新评估其它所有打开的故障,因为其中的某些故障会因故障关闭而变得不相关。

默认情况下,该命令要求用户确认请求的更改。

语法:

CHANGE FAILURE

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

[ EXCLUDE FAILURE failnum[,failnum,…] ]

{ PRIORITY {CRITICAL | HIGH | LOW} |

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

[ NOPROMPT ] - 不要求用户进行确认
如:RMAN> CHANGEFAILURE 282 PRIORITY LOW;

5、VALIDATE DATABASE

        该命令用于调用对数据库及其组件的健康状况检查。它扩展了现有的VALIDATE BACKUPSET 命令。在验证期间检测到的所有问题都会显示出来,这些问题进而会启动故障评估。如果检测到故障,则该故障会作为查找结果记录到ADR中。可以使用LIST FAILURE 命令查看资料档案库中记录的所有故障。

        VALIDATE 命令支持对单个备份集和数据块进行验证。在物理损坏中,数据库根本无法识别块。在逻辑损坏中,块的内容在逻辑上不一致。默认情况下,VALIDATE 命令只检查物理损坏。也可以指定CHECK LOGICAL 检查逻辑损坏。

        块损坏可分为块间损坏和块内损坏。在块内损坏中,块本身发生损坏,可以是物理损坏也可以是逻辑损坏。在块间损坏中,块与块之间发生的损坏只能是逻辑损坏。VALIDATE 命令只检查块内损坏。 

对于非常重要的数据库,可能需要执行其它预防性检查(可以在每天的低峰时段执行),调用对数据库及其组件的预防性健康状况检查:

(1)  健康状况监视器或RMAN VALIDATE DATABASE 命令

(2)  检查逻辑和物理损坏

(3)  在ADR 中记录查找结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值