oracle 11g ADR
admin
2023-02-06 18:00:09
0

ADR11g引用入的基于文件的数据库诊断数据存储库,用于存储例如跟踪、转储、警报日志、运行状况监视器报告等。它具有跨多个实例和多个产品的统一目录结构。10g中的初始化参数BACKGROUND_DUMP_DESTUSER_DUMP_DEST已被弃用。具体的位置已设置为DIAGNOSTIC_DEST标识ADR的位置。

诊断数据

以前的位置

ADR位置

意外事件转储

USER|BACKGROUND_DUMP_DEST

$ADR_HOME/incident/incdir_n                             

核心转储

CORE_DUMP_DEST

$ADR_HOME/cdump

预警日志数据

BACKGROUND_DUMP_DEST

$ADR_HOME/alert&trace

后台进程跟踪

BACKGROUND_DUMP_DEST

$ADR_HOME/trace

前台进程跟踪

USER_DUMP_DEST

$ADR_HOME/trace




如果省略DIAGNOSTIC_DEST参数或保留为null,则数据库DIAGNOSTIC_DEST在启动时设置如下:

如果ORACLE_BASE设置了环境变量,DIAGNOSTIC_DEST则设置为指定的目录ORACLE_BASE

如果ORACLE_BASE未设置环境变量,DIAGNOSTIC_DEST则设置为ORACLE_HOME / log

ADR子目录根据安装产品的不同会生成不同的产品或组件的诊断日志,如安装了dbgi的操作系统上通常有以下目录结构:

oracle 11g ADR

    数据库实例的ADR目录结构如下:

oracle 11g ADR


包含以下部分:

子目录名称

内容

Alert

XML格式的警报日志

cdump

核心文件

Incident

多个子目录,其中每个子目录都针对特定事件命名,每个子目录包含仅与该事件有关的转储

trace

后台和服务器进程跟踪文件,SQL跟踪文件和文本格式的警报日志

(其他)

ADR home的其他子目录,用于存储事件包,运行状况监视器报告,警报日志以外的日志(如DDL日志和调试日志)等信息



数据库具体的ADR目录可查看视图得到:

SELECT * FROM V$DIAG_INFO;
 
INST_ID NAME                  VALUE
------- --------------------- -------------------------------------------------------------
      1 Diag Enabled          TRUE
      1 ADR Base              /u01/oracle
      1 ADR Home              /u01/oracle/diag/rdbms/orclbi/orclbi
      1 Diag Trace            /u01/oracle/diag/rdbms/orclbi/orclbi/trace
      1 Diag Alert            /u01/oracle/diag/rdbms/orclbi/orclbi/alert
      1 Diag Incident         /u01/oracle/diag/rdbms/orclbi/orclbi/incident
      1 Diag Cdump            /u01/oracle/diag/rdbms/orclbi/orclbi/cdump
      1 Health Monitor        /u01/oracle/diag/rdbms/orclbi/orclbi/hm
      1 Default Trace File    /u01/oracle/diag/rdbms/orclbi/orclbi/trace/orcl_ora_22769.trc
      1 Active Problem Count  8
      1 Active Incident Count 20

V$DIAG_INFO 视图列出了所有重要的 ADR 位置,包括:

• ADR Base:ADR 基目录的路径。
• ADR Home:当前数据库实例的 ADR 主目录的路径。
• Diag Trace:文本预警日志和后台/前台进程跟踪文件的位置。
• Diag Alert:XML 版本的预警日志的位置。
• Default Trace File:会话的跟踪文件的路径。SQL 跟踪文件将写入到这里。


Adrci命令行工具

adrcioracle 11g中用来管理日志文件的一个命令行工具。

[oracle@prodb ~]$ adrci -help
Syntax:
   adrci [-help] [script=script_filename] [exec = "one_command [;one_command;...]"]
   
[oracle@prodb ~]$ adrci
 
ADRCI: Release 11.2.0.4.0 - Production on Thu May 31 14:32:48 2018
 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
ADR base = "/u01"
adrci> help
 
 HELP [topic]
   Available Topics:
        CREATE REPORT
        ECHO
        EXIT
        HELP
        HOST
        IPS
        PURGE
        RUN
        SET BASE
        SET BROWSER
        SET CONTROL
        SET ECHO
        SET EDITOR
        SET HOMES | HOME | HOMEPATH
        SET TERMOUT
        SHOW ALERT
        SHOW BASE
        SHOW CONTROL
        SHOW HM_RUN
        SHOW HOMES | HOME | HOMEPATH
        SHOW INCDIR
        SHOW INCIDENT
        SHOW PROBLEM
        SHOW REPORT
        SHOW TRACEFILE
        SPOOL
 
 There are other commands intended to be used directly by Oracle, type
 "HELP EXTENDED" to see the list
 
adrci>

adrci支持脚本方式和exec的命令集方式。

 

脚本方式:

该脚本为修改trc\trm日志保留天数为5-7天。
[oracle@prodb ~]$ cat adrci_script.txt
show homes;
set home diag/rdbms/prodb/prodb;
set control (SHORTP_POLICY = 120);
set control (LONGP_POLICY = 168);
show control;
[oracle@prodb ~]$ adrci script=adrci_script.txt

exec命令集方式:

[oracle@prodb ~]$ adrci exec="show homes;set home diag/rdbms/prodb/prodb;set control \(SHORTP_POLICY=120\);set control \(LONGP_POLICY=168\);show control"


常见的adrci命令:

     1.显示adr_home


adrci> show homes
ADR Homes:
diag/tnslsnr/prodb/listener
diag/rdbms/prodb/prodb
diag/clients/user_oracle/host_3001804591_80

2.指定adr_home

adrci> set home diag/rdbms/prodb/prodb
adrci> show homes
ADR Homes:
diag/rdbms/prodb/prodb

 

3.显示alter文件

adrci> show alert  #按q退出
adrci> show alert -tail 50   #显示最后50行
adrci> show alert -tail 50   #tail -f alert_sid.log
adrci> show alert -p "message_text like '%ORA%'"

 

4.显示告警事件

adrci> show incident
adrci> show incident -mode detail
adrci> show incident -mode detail -p "incident_id=123"

 

4.显示问题

adrci> show problem

 

5.删除10天前的incident 14400=60min*24*10

adrci> purge -age 14400 -type incident

 

生成诊断package

1)意外事件程序包是 ADR 中的一个逻辑结构,用于描述一个或多个问题。
2)程序包是一个 zip 文件,其中包含与某个意外事件程序包有关的转储信息。
3)默认情况下,一个意外事件程序包中只包含每个问题的前三个意外事件和后三个意外事件。
4)可以生成完整的 zip 文件,也可以生成增量 zip 文件。


1.创建逻辑包

adrci> ips create package incident 373
adrci> ips add incident 168 package 1

2.输出物理包

adrci>ips generate package 1 in /home/oracle


其他的打包命令:

• IPS CREATE PACKAGE 用于创建空的程序包。
• IPS CREATE PACKAGE PROBLEMKEY 用于创建基于问题关键字的程序包。
• IPS CREATE PACKAGE PROBLEM 用于创建基于问题 ID 的程序包。
• IPS CREATE PACKAGE INCIDENT 用于创建基于意外事件 ID 的程序包。
• IPS CREATE PACKAGE SECONDS 用于创建包含从数秒前到现在为止这个时间间隔内生成的所有意外事件的程序包。
• IPS CREATE PACKAGE TIME 用于创建基于指定时间范围的程序包。也可以向现有程序包添加内容。例如:
• IPS ADD INCIDENT PACKAGE 用于将意外事件添加到现有程序包。
• IPS ADD FILE PACKAGE 用于将 ADR 中的文件添加到现有程序包。



相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...