【解析】
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目录结构
【实验】
ADR的路径被称为ADR BASE,这个位置由一个新的初始化参数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目录结构
/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来查询自动诊断库的信息:
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
http://docs.oracle.com/cd/E11882_01/server.112/e25494/diag.htm#CHDDHEBD
http://docs.oracle.com/cd/E11882_01/server.112/e40540/startup.htm#CNCPT89060
Speak Your Mind