Oracle 11g新特性:Automatic Diagnostic Repository
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的路径被称为ADR BASE,这个位置由一个新的初始化参数DIAGNOSTIC_DEST决定。
这个参数的缺省值和环境变量ORACLE_BASE有关:SQL> show parameter diagnostic_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest string /opt/oracle
■ 如果设置了 ORACLE_BASE 则 DIAGNOSTIC_DEST = ORACLE_BASE
■ 如果未设置 ORACLE_BASE ,则 DIAGNOSTIC_DEST = ORACLE_HOME/log
我们可以简单看一下ADR BASE的目录结构:
现在一目了然,包括ASM、CRS等组件日志都被ADR囊括其中。 对于FRA,通过V$FLASH_RECOVERY_AREA_USAGE视图,Oracle可以知道闪回区的使用情况.[oracle@test126 ~]$ tree -d diag/
diag/
|-- asm
|-- clients
|-- crs
|-- diagtool
|-- lsnrctl
|-- netcman
|-- ofm
|-- rdbms
| `-- eygle
| `-- eygle
| |-- alert
| |-- cdump
| |-- hm
| |-- incident
| |-- incpkg
| |-- ir
| |-- lck
| |-- metadata
| |-- stage
| |-- sweep
| `-- trace
`-- tnslsnr
`-- test126
`-- listener
|-- alert
|-- cdump
|-- incident
|-- incpkg
|-- lck
|-- metadata
|-- stage
|-- sweep
`-- trace
33 directories
现在对于ADR,Oracle可以通过一个新的视图v$diag_info来查询自动诊断库的信息:
SQL> select * from v$diag_info;
INST_ID NAME VALUE
---------- ------------------------- ------------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base /opt/oracle
1 ADR Home /opt/oracle/diag/rdbms/eygle/eygle
1 Diag Trace /opt/oracle/diag/rdbms/eygle/eygle/trace
1 Diag Alert /opt/oracle/diag/rdbms/eygle/eygle/alert
1 Diag Incident /opt/oracle/diag/rdbms/eygle/eygle/incident
1 Diag Cdump /opt/oracle/diag/rdbms/eygle/eygle/cdump
1 Health Monitor /opt/oracle/diag/rdbms/eygle/eygle/hm
1 Default Trace File /opt/oracle/diag/rdbms/eygle/eygle/trace/eygle_ora_10858.trc
1 Active Problem Count 0
1 Active Incident Count 0
11 rows selected.
SQL> select table_name from dict where table_name like '%DIAG%';
TABLE_NAME
------------------------------
V$DIAG_INFO
GV$DIAG_INFO
Oracle每一个进步都是精心设计的,模块化、规范化正在被不断的加强。
-The End-
- 2019-08-28 诊断案例:通过10046跟踪和解决12.2 多租户ORA-600 908错误
- 2015-08-28 行成于思:从Oracle到MySQL的抉择及DBA
- 2013-08-28 Oracle PatchSet 11.2.0.4 最终版本发布
- 2008-08-28 Oracle Database 12g将不支持裸设备
- 2008-08-28 参加Oracle举行的DBA圆桌会议活动
- 2006-08-28 《深入浅出Oracle》技术交流会
- 2004-08-28 Emulex光纤卡lpfc配置文件的修改
- 2004-08-28 EMC Navisphere AGENT(NAVIAGENT) 安装日志
- 2004-08-28 如何分配磁盘组(EMC阵列)
- 2004-08-28 安装Veritas Storage Fundation For Oracle Rac4.0
- 2004-08-28 如何在VCS中创建共享磁盘
- 2004-08-28 Emulex LightPulse FC9002L光纤卡安装日志
如何Disable Diag呢,有相关文档吗,因为我们使用11g r1 时,发现在每个连接oracle的用户下,都产生了一个xxxdiag目录
这个应该是一个Bug导致的,打补丁可以修正的。