日期:2014-05-16  浏览次数:20411 次

[每日一题] 11gOCP 1z0-052 :2013-09-17 DRA--Data Recovery Advisor.............................B31

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11818529


正确答案:AD

            数据库恢复顾问(DRA)是一个诊断和修复数据库问题的工具。共有两个界面:RMAN可执行程序和Enteprise Manger。DRA能够生成脚本来修复数据文件和(在某些境下)控制文件受到的损坏:它不提供有关服务器参数文件和联机重做日志文件问题的建议。DRA依赖于自动诊断知识库(Automatic DiagnosticRepository,ADR)和Health Monitor。虽然DBA不使用HealthMonitor和DRA时会采用相同的诊断和修复方法,但Health Monitor 收集信息和DRA给出建议的过程更快捷,发生错误的概率更低。

1、      Health Monitor 和DRA

           Health Monitor是一组检查,会在特定错误条件出现时自动运行,也可以根据DAR的指示以手功方式运行。检查结果不存储在数据库,而存储在文件系统中。其原因在于,一些错误的性质决定了数据库不再可用:因此,需要一个外部知识库来存储Health Monitor的结果。该知识库就是自动诊断知识库(AutomaticDiagnostic Repository,ADR),位于Diganostic_dest实例参数指定的目录中。

2、      DRA的功能和局限性

    只有实例处于nomount模式或更高模式时,DRA才能奏效。如果初始化文件存在问题,它就起不到帮助作用。在nomount模式中,它可以诊断控制文件的问题,并通过使用现有的有效副本(如果不存在,就尝试从备份集(如果存在)中提取一个副本)生成用来还原的脚本。一旦数据库进入mount模式,DRA就可以诊断有关数据文件缺失或受损的问题,以及联机日志文件组丢失的问题,并生成修复脚本。

             当前版本的DRA仅支持单实例数据库。如果RAC数据库由于故障而失败,就可以在单实例模式中加模它,使用DRA修复损坏的内容,然后关闭它并在RAC模式中重新打开。此技可能无法修复在一个实例本地发生的损坏。DRA不能使用备用数据库的块和文件来修复主数据库的故障,也不能修复备用数据库的故障。

 

考点:DRA只能用于单实例数据库的环境。它不能用于RAC集群数据库,也不能用于Data Guard备用数据库。

 

3、一个实验,使用ADR诊断问题并提出建议,将数据库引发一个问题,然后使用DRA予以报告。

 (1) 在oracle的sys用户下启动RMAN

[oracle@mydb ~]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Wed Sep 18 17:08:36 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: OCM (DBID=2206937749)

 (2) 确认存在SYSAUX表空间的全部完整备分:

RMAN> list backup of tablespace sysaux;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
17      Full    1.22G      DISK        00:00:58     18-SEP-13      
        BP Key: 17   Status: AVAILABLE  Compressed: NO  Tag: TAG20130918T171810
        Piece Name: /backup/rman/0nok63mi_1_1
  List of Datafiles in backup set 17
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  2       Full 3077276    18-SEP-13 /u01/app/oracle/oradata/ocm/sysaux01.dbf

      如果没有返回至少一个full类型的备份集,就创建一个:

Backup as bakcupset tablespace sysaux;

(3)关闭实例并退出rman

RMAN> shutdown immediate;

database closed
database dismounted
Oracle instance shut down

RMAN> exit


Recovery Manager complete.

(4)  使用操作系统实用程序,删除在步骤(2)中列出的sysaux表空间的数据文件。如果使用Windows就必须停止实例在其下的Windows服务,以便在执行删除前释放Windows文件块。

[oracle@mydb ~]$ rm -rf /u01/app/oracle/oradata/ocm/sysaux01.dbf

(5)   使用SQL*Plus连接到数据库,并试着启动:

idle> conn  / as sysdba
Connected to an idle instance.
idle> startup
ORACLE instance started.

Total System Global Area  839282688 bytes
Fixed Size                  2233000 bytes
Variable Size             562040152 bytes
Database Buffers          268435456 bytes
Redo Buffers                6574080 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u01/app/oracle/oradata/ocm/sysaux01.dbf'

      这将在启动到MOUNT模式,并出现有关丢失文件的错误。