• Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具


    1.自己主动诊断工作流:

    通过一个始终处于打开状态的内存中跟踪工具,数据库组件能够在第一次出现严重错误故障时捕获诊断数据。系统将自己主动维护一个称为“自己主动诊断资料档案库”的特殊资料档案库,以保存有关严重错误事件的诊断信息。此信息可用于创建要发送到 Oracle 支持服务以进行调查的意外事件程序包。

    以下是一个典型的诊断会话工作流:
    1)意外事件导致 Oracle Enterprise Manager (EM) 中出现预警。

    2)DBA 可通过 EM 的“Alert(预警)”页查看此预警。

    3)DBA 能够细化到意外事件和问题的具体信息。

    4)DBA 能够决定或 Oracle 支持服务能够要求将信息打包并通过 MetaLink 发送到 Oracle 支持服务。DBA 能够将文件加入到自己主动打包的数据中。

    2.自己主动诊断资料档案库 (ADR)

    ADR 是一个基于文件的资料档案库。用于存放数据库诊断数据(如跟踪、意外事件转储和程序包、预警日志、健康监视报表、核心转储等)。它对存储在不论什么数据库外的多个实例和多种产品使用一个统一的文件夹结构。

    因此。在数据库关闭时可用来诊断问题。

    从 Oracle Database 11g R1 開始。数据库、自己主动存储管理 (ASM)、集群就绪服务 (CRS) 和其他 Oracle 产品或组件将全部诊断数据都存储在 ADR 中。每种产品的每一个实例都将诊断数据存储在自己的 ADR 主文件夹下。比如,在具有共享存储和 ASM 的 Real Application Clusters 环境中,每一个数据库实例和每一个 ASM 实例在 ADR 中都有一个主文件夹。

    利用 ADR 的统一文件夹结构、用于各种产品和实例的统一诊断数据格式以及一组统一的工具。客户和 Oracle 技术支持能够相互关联并分析多个实例的诊断数据。


    ADR 根文件夹又称为 ADR 基文件夹。其位置由 DIAGNOSTIC_DEST 初始化參数设置。假设此參数被忽略或留为空值,则数据库在启动时将对 DIAGNOSTIC_DEST 进行例如以下设置:假设设置了环境变量 ORACLE_BASE。则将 DIAGNOSTIC_DEST 设置为 $ORACLE_BASE。假设未环境变量设置 ORACLE_BASE,则将 DIAGNOSTIC_DEST 设置为 $ORACLE_HOME/log。

    3.ADR 命令行工具 ADRCI

    ADRCI 是一种命令行工具,属于数据库故障诊断基础结构的一部分。

    ADRCI 能够通过操作系统提示符与 ADR 进行交互。

    使用 ADRCI 能够查看自己主动诊断资料档案库中的诊断数据。

    使用 ADRCI 能够:
    --查看自己主动诊断资料档案库 (ADR) 中的诊断数据
    --将意外事件和问题信息打包成 zip 文件传输到 Oracle 技术支持

    ADRCI 具有丰富的命令集,可在交互模式下使用,也能够在脚本中使用。此外,ADRCI 还能够运行 ADRCI 命令脚本,使用的方式与 SQL*Plus 运行 SQL 脚本和 PL/SQL 命令的方式同样。

    $ adrci

    ADRCI: Release 11.1.0.5.0 - On Sat Jul 7 08:01:40 2007

    Copyright (c) 1982, 2007, Oracle. All rights reserved.
     


    ADR base = "/u01/app/oracle"
     


    ADRCI> show incident


    ADR Home = /u01/app/oracle/product/11.1.0/db_1/log/diag/rdbms/orcl/orcl:

    **************************************************************************
    INCIDENT_ID PROBLEM_KEY                          CREATE_TIME

    ----------- ------------------------------------ ------------------------

    1681        ORA-600_dbgris01:1,_addr=0xa9876541  17-JAN-07 09.17.44.843125… 

    1682        ORA-600_dbgris01:12,_addr=0xa9876542 18-JAN-07 09.18.59.434775…

    2 incident info records fetched


    4.V$DIAG_INFO 视图

    SQL> SELECT * FROM V$DIAG_INFO;

    NAME                  VALUE
    -------------------   -------------------------------------------------
    Diag Enabled          TRUE

    ADR Base              /u01/app/oracle

    ADR Home              /u01/app/oracle/diag/rdbms/orcl/orcl

    Diag Trace            /u01/app/oracle/diag/rdbms/orcl/orcl/trace

    Diag Alert            /u01/app/oracle/diag/rdbms/orcl/orcl/alert

    Diag Incident         /u01/app/oracle/diag/rdbms/orcl/orcl/incident

    Diag Cdump            /u01/app/oracle/diag/rdbms/orcl/orcl/cdump

    Health Monitor        /u01/app/oracle/diag/rdbms/orcl/orcl/hm

    Default Trace File    /u01/app/oracle/diag/.../trace/orcl_ora_11424.trc

    Active Problem Count  3

    Active Incident Count 8

    V$DIAG_INFO 视图列出了全部重要 ADR 的位置:

    ADR Base:ADR 基文件夹的路径。

    ADR Home:当前数据库实例的 ADR 主文件夹的路径。

    Diag Trace:文本预警日志和后台/前台进程跟踪文件的位置。

    Diag Alert:XML 版本号的预警日志的位置。
    Diag Incident:意外事件日志的写入位置。

    Diag Cdump:在此文件夹中写入诊断核心文件。

    Health Monitor:执行健康监视时产生的日志的位置。

    Default Trace File:会话的跟踪文件的路径。

    SQL 跟踪文件写入此位置。

    5.Oracle 10g 与 Oracle 11g 的诊断跟踪的位置

    诊断数据          曾经的位置                                                ADR 位置
    前台进程跟踪  USER_DUMP_DEST                                ADR_HOME/trace
    后台进程跟踪  BACKGROUND_DUMP_DEST                ADR_HOME/trace
    预警日志数据  BACKGROUND_DUMP_DEST                ADR_HOME/alert   ADR_HOME/trace
    核心转储         CORE_DUMP_DEST                                ADR_HOME/cdump
    意外事件转储  USER|BACKGROUND_DUMP_DEST      ADR_HOME/incident/incdir_n

  • 相关阅读:
    CSS 权威指南 CSS实战手册 第四版(阅读笔记)
    iframe交互(一)父页面自动高度
    连接微服务
    学习SQLYog
    sourceTree的安装以及破解
    sql 根据子级ID获取所有父级
    新手Python入门安装(一)
    C# 真正完美的 汉字转拼音
    供应链相关的书和博客
    网易跟帖为什么火
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5366715.html
Copyright © 2020-2023  润新知