adr,ORACLE 11G中的ADR介绍:"/>
oracle的adr,ORACLE 11G中的ADR介绍:
直到今天,我才开始接触oracle 11g,先了解其新特性,以下这些是我的新特性读书笔记:
第一部分:(Automatic Diagnostic Repository)ADR
在oracle 11g中,你不能在目录$ORACLE_BASE/diag/rdbms/$INSTANCE_NAME/$ORACLE_SID/alert中直接读取alert日志。而是读取其中的log.xml文件。该文件不是文本文件。除了所有标准的数据库操作信息外,alert日志里也包含关于事件的信息。你也可以从目录 $ORACLE_BASE/diag/rdbms/$INSTANCE_NAME/$ORACLE_SID/trace中读取以前版本的alert日志。
problems和incidents (问题和事件)
围绕着oracle 11g错误诊断结构有两种新的概念:problems和incidents。
problems:
任何严重错误称之为problems,比如ORA-600错误,ORA-04031错误。所有涉及数据库problems的源数据都存储在ADR中。每一个问题分配一个关键字,以便于标识和描述问题。问题关键字包括oracle错误号和错误变量值。
incidents:
是一次问题的产生。一个问题可能会产生多次。每一次就是一个事件。每个事件有它自己的事件ID.
比如:
INCIDENT_ID PROBLEM_KEY CREATE_TIME
------------ ------------------ ---------------------------
8801 ORA 600 [4899] 27-MAR-07 06.14.41.04-05:00
当某一个事件产生时。在数据库里做三件事情:
为该事件创建一个告警日志行并分配合适安全告警。
在alert日志里创建相关条目。
收集和存储诊断数据放置在ADR结构中合适子目录中。
不能够禁止自动创建严重错误事件。
事件在ADR中有保留策略:
事件元数据保留在ADR中默认一年。
事件文件和dump保留在ADR中默认是一个月。
可以使用事件package configuration更改这些保留策略。后台进程MMON自动清洗过期的ADR数据。
incident packaging service:
在oracle 11g中,你可以使用IPS来搜寻关于某一个事件或错误的相关trace file,dump file和告警日志并将其打包成压缩文件。
这个特性称之为(incident packaging service)IPS。
ADR的结构和位置:
初始化参数diagnostic_dest指定了ADR的根目录。即使你忽略了该初始化参数。oracle也会创建ADR。
如果你设置了ORACLE_BASE环境变量,那么diagnostic_dest缺省值是该目录。如果你没有设置ORACLE_BASE变量,该参数值为$ORACLE_HOME/log目录。
ADR存储所有oracle产品的诊断数据。ADR为每一个oracle产品及其实例分配一个单独的home目录。因此一个ADR目录包含多个home目录。
每一个ADR的home目录是一个为每一个数据库实例或其它oracle产品或组件存储其诊断文件。其目录结构如下:
ADR_base/diag/product_type/product_id/instance_id/
比如一个 diagnostic_dest初始化参数为 /u05/app/oracle。那么一个oracle数据库的sid为prod1的home目录就如下所示:
/u05/app/oracle/diag/rdbms/prod1/prod1/
在一个ADR的home目录下有很多子目录:
alert:一个实例的告警日志文件(xml格式)。
cdump:core文件。
hm:健康检查报告。
incident:每一个事件一个子目录,其中包含所有trace dump文件。
incpkg:你创建的事件包,用于发给oracle支持所用。
ir:包含实例事件报告。
trace:存储回话trace文件。
可以通过视图v$diag_info来查询目录及其位置:
SQL> select name, value from v$diag_info;
NAME VALUE
------------------- ---------------------------
Diag Enabled TRUE
ADR Base /u01/app/oracle
ADR Home /01/app/oracle/diag/rdbms/prod/prod1
Diag Trace /u01/app/oracle/diag/rdbms/prod/prod1/trace
Diag Alert /u01/app/oracle/diag/rdbms/ prod/prod1/alert
Diag Incident /u01/app/oracle/diag/rdbms/prod/prod1/incident
Diag Cdump /u01/app/oracle/diag/rdbms/ prod/prod1/cdump
Health Monitor /u01/app/oracle/diag/rdbms/ prod/prod1/hm
Default Trace File /u01/app/oracle/diag/rdbms/ prod/prod1/
trace/eleven_ora_9417.trc
Active Problem Count 3
Active Incident Count 8
正如你所见,视图v$diag_info中包括问题和事件数量。
adrci接口:
oracle为我们提供了一个挖掘ADR里的诊断数据的接口,叫adrci。这个命令行工具提供很多丰富的功能
更多推荐
oracle的adr,ORACLE 11G中的ADR介绍:
发布评论