Oracle 数据恢复指导详解

1.数据恢复指导 :

快速检测、分析和修复故障

最大程度地减少停机故障和运行时故障

将对用户的干扰降到最低

用户界面:

--EM GUI 界面 (多个路径)

--RMAN 命令行

支持的数据库配置:

--单实例

--非 RAC

--支持故障转移到备用数据库,但不支持分析和修复备用数据库

数据恢复指导的功能:

在发生错误时,数据恢复指导可自动收集数据故障信息。此外,它还可以主动检查故障。在这种模式下,它有可能在数据库进程发现损坏并指出错误之前就检测和分析数据故障(请注意,修复始终由人控制)。

数据故障可能会很严重。例如,如果缺少最新的日志文件,则无法启动数据库。一些数据故障(如数据文件中的块损坏)不是灾难性故障,因为它们不会使数据库停机,也不会阻止您启动 Oracle 实例。

数据恢复指导可以处理两种情况:一种情况是您无法启动数据库(因为缺少一些必需的数据库文件,或者这些数据库文件不一致或已损坏),另一种情况是运行时发现文件损坏。

2.数据恢复指导:RMAN 命令行界面

RMAN 命令  操作

LIST FAILURE  列出先前执行的故障评估

ADVISE FAILURE  显示建议的修复选项

REPAIR FAILURE  修复和关闭故障(在同一 RMAN 会话中的 ADVISE 命令后)

CHANGE FAILURE  更改或关闭一个或多个故障

3.列出数据故障

RMAN LIST FAILURE 命令可列出先前执行的故障评估。

--包括新诊断的故障

--删除关闭的故障(默认情况下)

LIST FAILURE

[ ALL | CRITICAL | HIGH | LOW | CLOSED | failnum[,failnum,…] ]

[ EXCLUDE FAILURE failnum[,failnum,…] ][ DETAIL ]

RMAN> LIST FAILURE;

List of Database Failures

=========================

Failure ID Priority Status    Time Detected Summary

---------- -------- --------- ------------- -------

142        HIGH     OPEN      21-JUN-07     One or more non-system

datafiles are missing

RMAN LIST FAILURE 命令可列出故障。如果目标实例使用恢复目录,它可以处于 STARTED 模式下,否则必须处于 MOUNTED 模式下。

LIST FAILURE 命令可列出以前执行的评估的结果。重复执行 LIST FAILURE 命令可重新验证所有现有的故障。如果数据库诊断出新的故障(在命令执行之间),则会显示这些新故障。如果用户手动修复故障或临时故障消失,则数据恢复指导会将这些故障从 LIST FAILURE 输出中删除。

了解有关语法的更多内容:

failnum:显示了修复选项的故障数。

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

CRITICAL:列出 CRITICAL 优先级和 OPEN 状态的故障。需要立即关注这些故障,因为它们会使整个数据库不可用。

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

LOW:列出 LOW 优先级和 OPEN 状态的故障。低优先级的故障可以等到修复了更重要的故障后再进行修复。

CLOSED:仅列出关闭的故障。

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

DETAIL:展开合并的故障,列出故障详细资料。例如,如果一个文件中有多个块损坏,则 DETAIL 选项将列出每个块损坏。

4.修复建议

RMAN ADVISE FAILURE 命令:

--语法:

ADVISE FAILURE

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

[ EXCLUDE FAILURE failnum [,failnum,…] ]

--显示输入故障列表的摘要(含警告)

--显示手动检查列表

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

. . .

Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_2979128860.hm

RMAN>

RMAN ADVISE FAILURE 命令可显示针对指定故障建议的修复选项。ADVISE FAILURE 命令可打印输入故障概要。该命令会隐式关闭已修复的所有打开的故障。

默认行为(没有使用任何选项时)是对记录在自动诊断资料档案库中优先级为 CRITICAL 和 HIGH 的所有故障提供建议。如果自上次执行 LIST FAILURE 命令后 ADR 中记录了新故障,则在对所有 CRITICAL 和 HIGH 故障提供建议前,该命令将包含一个 WARNING。

可执行两个常规修复选项:无数据丢失修复和数据丢失修复。

数据恢复指导在生成自动修复选项时会生成一个脚本,用于显示 RMAN 计划如何修复故障。如果不希望数据恢复指导自动修复故障,可从该脚本开始执行手动修复。该脚本的 OS 位置将显示在命令输出的末尾。可以检查此脚本,并对其进行自定义(如果需要),还可以手动执行该脚本(例如在审计线索要求建议执行手动操作时)。

5.执行修复

RMAN REPAIR FAILURE 命令:

--在 ADVISE FAILURE 命令之后执行

--修复指定故障

--关闭修复的故障

--语法:

REPAIR FAILURE

[PREVIEW]

[NOPROMPT]

eg:RMAN> repair failure;

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

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

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

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

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

NOPROMPT:不要求确认。

6.分类(和关闭)故障

RMAN CHANGE FAILURE 命令:

--更改故障优先级(CRITICAL 除外)

--关闭一个或多个故障

RMAN> change failure 5 priority low;

List of Database Failures

=========================

Failure ID Priority Status    Time Detected Summary

---------- -------- --------- ------------- -------

5          HIGH     OPEN      20-DEC-06     one or more datafiles are missing

Do you really want to change the above failures (enter YES or NO)? yes

changed 1 failures to LOW priority

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

语法:

CHANGE FAILURE

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

[ EXCLUDE FAILURE failnum[,failnum,…] ]

{ PRIORITY {CRITICAL | HIGH | LOW} |

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

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

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

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

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

7.数据恢复指导视图

查询动态数据字典视图:

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

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

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

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

使用示例:假定您需要显示在 2007 年 6 月 21 日检测到的所有故障。

SELECT * FROM v$ir_failure

WHERE trunc (time_detected) = ‘21-JUN-2007‘;

(根据页面调整输出格式)

FAILURE_ID  PARENT_ID CHILD_COUNT CLASS_NAME              TIME_DETE MODIFIED    DESCRIPTION    IMPACTS           PRIORITY STATUS

142          0           0 PERSISTENT_DATA      21-JUN-07 21-JUN-07 One or more non-system datafiles are missing See impact for individual child failures     HIGH     CLOSED

145        142           0 PERSISTENT_DATA               21-JUN-07 21-JUN-07 Datafile 4: ‘/u01/app/oracle/oradata/orcl/users01.dbf‘ is missing

Some objects in tablespace USERS might be unavailable    HIGH     CLOSED

151        142           0 PERSISTENT_DATA        21-JUN-07 21-JUN-07 Datafile 5: ‘/u01/app/oracle/oradata/orcl/example01.dbf‘ is missing

Some objects in tablespace EXAMPLE might be unavailable  HIGH     CLOSED

时间: 2024-12-14 20:43:27

Oracle 数据恢复指导详解的相关文章

Oracle执行计划详解

 简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容. 并有总结和概述,便于理解与记忆! +++ 目录 --- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectivity) 二.oracle访问数据的存取方法 1) 全表扫描(Full Table Scan

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle cursor_sharing 参数 详解

一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 1.1 CURSOR_SHARING Property Description Parameter type String Syntax CURSOR_SHARING = { SIMILAR | EXACT | FORCE } Default value EXACT Modifiable ALTE

ORACLE用户PROFILE详解

ORACLE用户PROFILE详解   一.官网说明 Oraclerecommends that you use the Database Resource Manager rather than the SQLstatement to establish resource limits. The Database Resource Manager offers amore flexible means of managing and tracking resource use. Purpose

oracle sqlplus命令详解

涉及到的知识要点a.带有一个&的替换变量的用法b.带有两个&的替换变量用法c.define命令用法d.accept命令用法e.定制SQL*Plus环境f.在glogin.sql文件中保存定制结果g.sqlplus编辑命令 a.带有一个&的替换变量的用法1).使用带有一个&号的变量值来提示用户输入一个值.eg.SQL> SELECT     empno, ename, sal, deptno FROM  emp WHERE empno = &empno;输入 e

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Linux下ORACLE客户端安装详解

1.首先去oracle官网下载以下安装包(http://www.oracle.com/technetwork/topics/linuxsoft-082809.html) instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-odbc-linux-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.

oracle rac IP详解

rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以"漂"到其他网卡是继续提供服务 在Oracle RAC环境下,每个节点都会有多个IP地址,分别为Public/Private/Vip,这三个IP到底有啥区别呢?分别用在那些场合呢?来看看老外的回答. 1. private IP address is used only for internal clustering processing (Cache

ORACLE物化视图详解

一.物化的一般用法物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 1.物化视图的类型ON DEMAND.ON COMMIT.二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"需要"被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一