首页 > 其他分享 > 自动诊断存储库Automatic Diagnostic Repository (ADR)

自动诊断存储库Automatic Diagnostic Repository (ADR)

时间:2022-10-06 17:33:37浏览次数:54  
标签:ADR Repository 数据库 Diagnostic 警报 DDL Oracle 日志

自动诊断存储库 (ADR)是一个基于文件的存储库,用于存储数据库诊断数据,例如跟踪文件、警报日志、DDL 日志和运行状况监视器报告。

ADR 的主要特征包括:

  • 统一目录结构

  • 一致的诊断数据格式

  • 统一工具集

上述特征使客户和 Oracle Support 能够跨多个 Oracle 实例、组件和产品关联和分析诊断数据。

ADR 位于数据库之外,这使得 Oracle 数据库能够在物理数据库不可用时访问和管理 ADR。数据库实例可以在创建数据库之前创建 ADR。

问题和事件

ADR主动跟踪数据库中的关键错误问题。

严重错误表现为内部错误,例如ORA-600,或其他严重错误。每个问题都有一个问题键,它是描述问题的文本字符串。

当一个问题多次出现时,ADR 会为每次出现创建一个带时间戳的事件。事件由数字事件 ID唯一标识。发生事件时,ADR 会向Enterprise Manager发送事件警报。严重错误的诊断和解决通常从事件警报开始。

由于一个问题可能会在短时间内产生许多事件,因此 ADR 在达到某些阈值后对事件生成应用洪水控制。洪水控制的事件会生成警报日志条目,但不会生成事件转储。通过这种方式,ADR 会通知您正在发生严重错误,而不会因诊断数据而使系统过载。

 

ADR 结构

ADR 库可以包含多个 ADR 主目录,其中每个ADR 主目录都是 Oracle 产品或组件实例的所有诊断数据(跟踪、转储、警报日志等)的根目录。例如,在具有共享存储和 Oracle ASM 的 Oracle RAC 环境中,每个数据库实例和每个 Oracle ASM 实例都有自己的 ADR 主目录。

Oracle 数据库实例的 ADR 目录结构

 

 如以下 Linux 示例所示,当您在创建数据库之前使用唯一 SID 和数据库名称启动实例时,Oracle 数据库默认创建 ADR 作为主机文件系统中的目录结构。SID 和数据库名称构成 ADR 主页中文件路径名称的一部分。

 创建 ADR

% setenv ORACLE_SID osi
% echo "DB_NAME=dbn" > init.ora
% sqlplus / as sysdba
.
.
. 
Connected to an idle instance.
 
SQL> STARTUP NOMOUNT PFILE="./init.ora"
ORACLE instance started.
 
Total System Global Area  146472960 bytes
Fixed Size                  1317424 bytes
Variable Size              92276176 bytes
Database Buffers           50331648 bytes
Redo Buffers                2547712 bytes
 
SQL> COL NAME FORMAT a21
SQL> COL VALUE FORMAT a60
SQL> SELECT NAME, VALUE FROM V$DIAG_INFO;
 
NAME                  VALUE
--------------------- --------------------------------------------------------
Diag Enabled          TRUE
ADR Base              /d1/3910926111/oracle/log
ADR Home              /d1/3910926111/oracle/log/diag/rdbms/dbn/osi
Diag Trace            /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/trace
Diag Alert            /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/alert
Diag Incident         /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/incident
Diag Cdump            /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/cdump
Health Monitor        /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/hm
Default Trace File    /d1/3910926111/oracle/log ... osi/trace/osi_ora_6825.trc
Active Problem Count  0
Active Incident Count 0

警报日志

每个数据库都有一个警报日志,它是一个 XML 文件,其中包含按时间顺序排列的数据库消息和错误日志。

警报日志内容包括:

  • 所有内部错误 ( ORA-600)、块损坏错误 ( ORA-1578) 和死锁错误 ( ORA-60)

  • 管理操作,例如 SQL*Plus 命令STARTUP、、、和SHUTDOWNARCHIVE LOGRECOVER

  • 与共享服务器和调度程序进程的功能有关的若干消息和错误

  • 物化视图自动刷新期间的错误

Oracle 数据库使用警报日志作为在企业管理器 GUI 中显示信息的替代方法。如果管理操作成功,Oracle 数据库会在警报日志中写入一条“已完成”消息以及时间戳。

当您第一次启动数据库实例时,Oracle 数据库会在图 13-8alert所示的子目录中创建警报日志,即使尚未创建数据库也是如此。此文件为 XML 格式。trace 子目录包含一个纯文本警报日志,其中一部分出现在以下示例中:

Fri Nov 02 12:41:58 2014
SMP system found. enable_NUMA_support disabled (FALSE)
Starting ORACLE instance (normal)
CLI notifier numLatches:3 maxDescs:189
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Initial number of CPU is 2
Number of processor cores in the system is 2
Number of processor sockets in the system is 2
Shared memory segment for instance monitoring created
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_1 parameter default value as /disk1/oracle/dbs/arch
Autotune of undo retention is turned on.
IMODE=BR
ILAT =10
LICENSE_MAX_USERS = 0
SYS auditing is disabled
NOTE: remote asm mode is local (mode 0x1; from cluster type)
Starting up:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Advanced Analytics and Real Application Testing options.
.
.
.
Using parameter settings in client-side pfile 
System parameters with nondefault values:
  processes                = 100
  sessions                 = 172

查询V$DIAG_INFO告警日志。

DDL 日志

DDL 日志与警报日志具有相同的格式和基本行为,但仅包含 DDL 语句和详细信息。数据库将 DDL 信息写入自己的文件以减少警报日志中的混乱。

DDL日志记录是DDL文本,可以选择添加补充信息。每个DDL语句都有一条日志记录。DDL日志存储在ADR主目录的log/DDL子目录中。

跟踪文件

跟踪文件是包含用于调查问题的诊断数据的文件。此外,跟踪文件可以为调整应用程序或实例提供指导。

 

 

 

 

 

 

标签:ADR,Repository,数据库,Diagnostic,警报,DDL,Oracle,日志
From: https://www.cnblogs.com/wonchaofan/p/16758069.html

相关文章

  • JadConfig classpathRepository 扩展
    JadConfig默认包含了基于内存,properties文件,系统属性,以及环境变量的Repository,但是对于classpath的文件处理不是很方便我们可以自己在扩展接口实现定义 publicinterf......
  • .NET教程 - 日志 & 诊断 (Logs & diagnostics)
    更新记录转载请注明出处:2022年10月2日发布。2022年10月1日从笔记迁移到博客。日志(logging)日志的作用在应用程序中添加代码以记录正在发生,尤其是发生异常时以便......
  • 实战一:Breast Cancer Wisconsin (Diagnostic)
    1importpandasaspd#pandas是一个快速、强大、灵活和易于使用的开源数据分析和操作工具。2fromsklearn.preprocessingimportLabelEncoder#该类使用0到n_cla......
  • loadrunner录制HTTPS协议的脚本
    一、获取证书HTTP协议传输的数据都是未加密的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(SecureSocketsLayer)协议......
  • idea中的repository配置!
    ......
  • loadrunner写webservice接口
    先用soupUI调试 fiddler抓包然后再写:web_custom_request("createSoapOrder",      "URL=http://{hosts}:****/****/webService/eifWebService",     ......
  • loadrunner入门(关联)
       左右边界:提取第一个idweb_reg_save_param_ex(                "ParamName=Id",        "LB=//OK[1,\[\"",        "RB=\"\],......
  • JadConfig classpathRepository 扩展
    JadConfig默认包含了基于内存,properties文件,系统属性,以及环境变量的Repository,但是对于classpath的文件处理不是很方便我们可以自己在扩展接口实现定义 ......
  • AMD Software꞉ Adrenalin Edition闪退问题
    先抛结论是因为连接了两个显示器的问题,拔掉其中一个显示器的接头,就可以正常使用了,至于往深了的问题,我就不知道了,反正这个情况可以给各位提供一个参考,不一定就都是这个问题......
  • 【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.Diagnos
    问题描述在使用AppService的过程中,发现应用频繁出现503错误,通过Kudu站点获取到Logfiles。在Eventlog.xml文件中,发现大量的Microsoft.WindowsAzure.Diagnostics.Diag......