ITPub博客

首页 > 数据库 > Oracle > Backup And Recovery User's Guide-从RMAN开始-使用数据恢复指导诊断和修复错误

Backup And Recovery User's Guide-从RMAN开始-使用数据恢复指导诊断和修复错误

原创 Oracle 作者: luisedalian 时间:2014-02-13 17:32:36 0 删除 编辑

使用数据恢复指导诊断和修复错误

诊断和修复数据库问题的最简单的方法是使用数据恢复指导

这个工具提供了诊断持久化数据失败显示修复建议自动执行修复的功能。

列出失败和确定修复选项

failure,是Health Monitor发现的一种持久的数据损坏。

包括物理的逻辑的数据块的损坏和数据文件的丢失。每个失败都有一个失败优先级和失败状态。

优先级可以为:CRITICALHIGHLOW

状态可以为:OPENCLOSED

 

可以执行LIST FAILURE命令,显示所有的失败;

如果有失败存在,则可在相同的会话中运行ADVISE FAILURE来确定手工或自动的修复选项。

练习:显示失败并指导失败(同时开多个SecureCRT会话窗口进行操作)

# 1. 手工将users01.dbf数据文件改名(此时数据库处于OPEN状态)

oracle@Redhat55.cuug.net:/u01/app/oracle/oradata/TestDB12> mv users01.dbf users01_bak.dbf

# 2. 连接到scott用户,执行数据查询(因为该方案中的emp表存储在users表空间中)

sys@TESTDB12>conn scott/scott

Connected.

scott@TESTDB12>select * from emp;

select * from emp

              *

ERROR at line 1:

ORA-01116: error in opening database file 4

ORA-01110: data file 4: '/u01/app/oracle/oradata/TestDB12/users01.dbf'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

 

# 3. RMAN中查看错误

RMAN> list failure;

 

using target database control file instead of recovery catalog

List of Database Failures

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

 

Failure ID Priority Status    Time Detected Summary

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

82         HIGH     OPEN      12-JUL-13     One or more non-system datafiles are missing

 

# 4. 对失败进行指导

RMAN> advise failure;

 

List of Database Failures

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

 

Failure ID Priority Status    Time Detected Summary

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

82         HIGH     OPEN      12-JUL-13     One or more non-system datafiles are missing

 

analyzing automatic repair options; this may take some time

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=37 device type=DISK

analyzing automatic repair options complete

 

Mandatory Manual Actions

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

no manual actions available

 

Optional Manual Actions

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

1. If file /u01/app/oracle/oradata/TestDB12/users01.dbf was unintentionally renamed or moved, restore it

 

Automated Repair Options

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

Option Repair Description

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

1      Restore and recover datafile 4 

  Strategy: The repair includes complete media recovery with no data loss

  Repair script: /u01/app/oracle/diag/rdbms/testdb12/TestDB12/hm/reco_2214128973.hm

 

# 5. 最后是生成的一个修复脚本,如果你不想使用数据修复指导来自动地修复失败,可以使用这个脚本作为你自己恢复策略的基础

# 5.1 查看生成的脚本中的内容

oracle@Redhat55.cuug.net:/home/oracle> more /u01/app/oracle/diag/rdbms/testdb12/TestDB12/hm/reco_2214128973.hm

   # restore and recover datafile

   sql 'alter database datafile 4 offline';

   restore datafile 4;

   recover datafile 4;

   sql 'alter database datafile 4 online'; 

ADVISE FAILURE的输出会显示手工和自动的修复选项。

首先手动地修复这些问题,如果不能修复这些问题,再查看自动修复部分。

 

自动的修复选项描述了对一个或多个失败的服务器管理的修复。修复是被合并后的,所以一个修复可以修补多个失败。

修复选项会说明哪个修复被执行,执行这个修复是否会丢失数据。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1081012/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5641821