eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 投资 人生必需经历的成长 | Blog首页 | RAC相关的一则DBA招聘需求 »

Oracle 11g新特性:Automatic Diagnostic Repository
modb.pro

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决定。


SQL> show parameter diagnostic_dest


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /opt/oracle


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

我们可以简单看一下ADR BASE的目录结构:


[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


现在一目了然,包括ASM、CRS等组件日志都被ADR囊括其中。

对于FRA,通过V$FLASH_RECOVERY_AREA_USAGE视图,Oracle可以知道闪回区的使用情况.
现在对于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文章:
    >> 2015-08-28文章:
    >> 2013-08-28文章:
    >> 2008-08-28文章:
    >> 2006-08-28文章:
    >> 2004-08-28文章:
           如何分配磁盘组(EMC阵列)
           如何在VCS中创建共享磁盘

By eygle on 2007-08-28 12:45 | Comments (2) | Oracle12c/11g | 1578 |

2 Comments

如何Disable Diag呢,有相关文档吗,因为我们使用11g r1 时,发现在每个连接oracle的用户下,都产生了一个xxxdiag目录



CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com