oracle的adr,ORACLE 11G中的ADR介绍:

编程入门 行业动态 更新时间:2024-10-27 20:28:50

oracle的<a href=https://www.elefans.com/category/jswz/34/1726063.html style=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介绍:

本文发布于:2024-02-08 20:18:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674614.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:adr   oracle   ORACLE   ADR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!