【Q&A with explanations】OCP 1z0-053 QUESTION2:ADR




  • OCP_1z0-053_QUESTION2
    【题目示意】
        此题考查有关于ADR的相关知识。

    【解析】
    ADR是Oracle Database 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的又一增强。FDI的一个关键组件是自动诊断库(Automatic Diagnostic Repository-ADR)。
    在Oracle Database 11g之前,Oracle的各类跟踪文件、日志文件等诊断文件的存储位置并不统一,现在在FDI的基础架构之上,Oracle开始统一规划这些文件的存储,ADR之于诊断文件,就类似于OFA(Optimal Flexible Architecture )之于数据库文件,FRA(Flash Recovery Area)之于备份文件。
    ADR BASE是ADR的根目录。ADR BASE包含了很多的ADR的家目录,每一个ADR的家目录是一个Oracle产品实例或者组件(如:RDBMS,ASM,Net Services等)的所有诊断数据的根目录,如traces,dumps,alert log等等。例如,在使用共享存储和ASM的RAC环境中,每个数据库实例和每个ASM实例都有自己的ADR家目录。

    图示:数据库实例的ADR目录结构

    OCP_1z0-053_QUESTION2_1

    【实验】
      ADR的路径被称为ADR BASE,这个位置由一个新的初始化参数DIAGNOSTIC_DEST决定。

    SYS@ENMOEDU> show parameter diagnostic_dest;

    NAME                                 TYPE          VALUE
    ------------------------------------ ----------- ------------------------------
    diagnostic_dest                     string        /u01/app/oracle

      这个参数的缺省值和环境变量ORACLE_BASE有关:
      如果设置了 ORACLE_BASE,则 DIAGNOSTIC_DEST = $ORACLE_BASE
      如果未设置 ORACLE_BASE,则 DIAGNOSTIC_DEST = $ORACLE_HOME/log

      查看diag目录结构

    [oracle@ENMOEDU ~]$ tree -d $ORACLE_BASE/diag/
    /u01/app/oracle/diag/
    ├── asm
    ├── clients
    │ └── user_oracle
    │ └── host_3961714200_80
    │ ├── alert
    │ ├── cdump
    │ ├── incident
    │ ├── incpkg
    │ ├── lck
    │ ├── metadata
    │ ├── metadata_dgif
    │ ├── metadata_pv
    │ ├── stage
    │ ├── sweep
    │ └── trace
    ├── crs
    ├── diagtool
    ├── lsnrctl
    ├── netcman
    ├── ofm
    ├── rdbms
    │ └── enmoedu
    │ └── ENMOEDU
    │ ├── alert
    │ ├── cdump
    │ ├── hm
    │ ├── incident
    │ ├── incpkg
    │ ├── ir
    │ ├── lck
    │ ├── metadata
    │ ├── metadata_dgif
    │ ├── metadata_pv
    │ ├── stage
    │ ├── sweep
    │ └── trace
    └── tnslsnr
    └── ENMOEDU
    └── listener
    ├── alert
    ├── cdump
    ├── incident
    ├── incpkg
    ├── lck
    ├── metadata
    ├── metadata_dgif
    ├── metadata_pv
    ├── stage
    ├── sweep
    └── trace

    50 directories

      一目了然,包括ASM、CRS等组件日志都被ADR囊括其中
      Oracle可以通过一个新的视图v$diag_info来查询自动诊断库的信息:

    SYS@ENMOEDU> SELECT name,VALUE FROM v$diag_info;

    NAME                      VALUE
    ------------------------- --------------------------------------------------------------
    Diag Enabled              TRUE
    ADR Base                  /u01/app/oracle
    ADR Home                  /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU
    Diag Trace                /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/trace
    Diag Alert                /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/alert
    Diag Incident             /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/incident
    Diag Cdump                /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/cdump
    Health Monitor            /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/hm
    DEFAULT Trace FILE /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/trace/ENMOEDU_ora_39085.trc
    Active Problem COUNT      0
    Active Incident COUNT     0

    11 ROWS selected.

    【小结】
       如果环境变量设置了ORACLE_BASE,则位于ORACLE_BASE指定的位置,因此选择B

    【答案】 B



    Speak Your Mind

    *