日期:2014-05-16 浏览次数:20400 次
转载请注明出处: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模式,并出现有关丢失文件的错误。