
简介:
ADR全称Automatic Diagnostic Repository
Oracle 11g推出了ADR,ADR存储所有组件(DB、ASM、CRS、监听等)的日志和跟踪日志,提高了数据库的诊断能力。
ADR产品/组件类型子目录

Oracle数据库的ADR主路径组件

例如,对于SID和数据库唯一名称均等于orclbi的数据库,ADR主目录将位于以下位置:
ADR_base/diag/rdbms/orclbi/orclbi/
同样,单个实例环境中Oracle ASM实例的ADR主目录为:
ADR_base/diag/asm/+asm/+asm/
ADR主页子目录
在每个ADR主目录中都有包含诊断数据的子目录。
表9-2列出了其中一些子目录及其内容。

图9-2说明了数据库实例的ADR的完整目录层次结构。

使用V$DIAG_INFO视图查看ADR位置
V$DIAG_INFO视图列出了当前Oracle数据库实例的所有重要ADR位置。
SELECT * FROM V$DIAG_INFO;INST_ID NAME VALUE------- --------------------- -------------------------------------------------------------1 Diag Enabled TRUE1 ADR Base u01/oracle1 ADR Home /u01/oracle/diag/rdbms/orclbi/orclbi1 Diag Trace /u01/oracle/diag/rdbms/orclbi/orclbi/trace1 Diag Alert /u01/oracle/diag/rdbms/orclbi/orclbi/alert1 Diag Incident /u01/oracle/diag/rdbms/orclbi/orclbi/incident1 Diag Cdump /u01/oracle/diag/rdbms/orclbi/orclbi/cdump1 Health Monitor /u01/oracle/diag/rdbms/orclbi/orclbi/hm1 Default Trace File /u01/oracle/diag/rdbms/orclbi/orclbi/trace/orcl_ora_22769.trc1 Active Problem Count 81 Active Incident Count 20
下表描述了此视图显示的一些信息

使用V$DIAG_Critical_ERROR视图查看严重错误
V$DIAG_CRITICAL_ERROR视图列出了当前Oracle数据库版本中指定为关键错误的所有非内部错误。
该视图未列出内部错误,因为内部错误始终被指定为关键错误。
以下示例显示了Oracle Database 11g Release 2(11.2.0.2)中V$DIAG_CRITICAL_ERROR视图的输出:
SELECT * FROM V$DIAG_CRITICAL_ERROR;FACILITY ERROR---------- ----------------------------------------------------------------ORA 7445ORA 4030ORA 4031ORA 29740ORA 255ORA 355ORA 356ORA 239ORA 240ORA 494ORA 3137ORA 227ORA 353ORA 1578ORA 32701ORA 32703ORA 29770ORA 29771ORA 445ORA 25319OCI 3106OCI 3113OCI 3135
表9-4 V$DIAG_CRITICAL_ERROR视图中的数据

ADRCI介绍
自动诊断存储库命令解释器(ADRCI)实用程序是用于管理Oracle数据库诊断数据的命令行工具。
关于ADR命令解释器(ADRCI)实用程序
ADRCI是一个命令行工具,它是Oracle数据库11g中引入的故障诊断基础结构的一部分。ADRCI使您能够:
1.在自动诊断库(ADR)中查看诊断数据。2.查看Health Monitor报告。3.将事件和问题信息打包到zip文件中,以便传输到Oracle支持部门。4.诊断数据包括事件和问题描述、跟踪文件、转储、运行状况监视器报告、警报日志条目等。5.ADR数据由ADR目录上的操作系统权限保护,因此无需登录ADRCI。6.ADRCI具有丰富的命令集,可以在交互模式或脚本中使用。
登录adcri
PATH环境变量必须包含ORACLE_HOME/bin。
[oracle@cjcos02 ~]$ adrciADRCI: Release 11.2.0.4.0 - Production on Sat Dec 3 15:53:28 2022Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.ADR base = "/oracle/app/oracle"adrci>
查看帮助信息
adrci> helpHELP [topic]Available Topics:CREATE REPORTECHOEXITHELPHOSTIPSPURGERUNSET BASESET BROWSERSET CONTROLSET ECHOSET EDITORSET HOMES | HOME | HOMEPATHSET TERMOUTSHOW ALERTSHOW BASESHOW CONTROLSHOW HM_RUNSHOW HOMES | HOME | HOMEPATHSHOW INCDIRSHOW INCIDENTSHOW PROBLEMSHOW REPORTSHOW TRACEFILESPOOLThere are other commands intended to be used directly by Oracle, type"HELP EXTENDED" to see the listadrci> help extendedHELP [topic]Available Topics:BEGIN BACKUPCDCREATE STAGING XMLSCHEMACREATE VIEWDDEDEFINEDELETEDESCRIBEDROP VIEWEND BACKUPINSERTLIST DEFINEMERGE ALERTMERGE FILEMIGRATEQUERYREPAIRSELECTSET COLUMNSHOW CATALOGSHOW DUMPSHOW SECTIONSHOW TRACESHOW TRACEMAPSWEEPUNDEFINEUPDATEVIEW
在批处理模式下使用ADRCI
批处理模式允许您一次运行一系列ADRCI命令,而无需提示输入。
[oracle@cjcos02 ~]$ adrci -helpSyntax:adrci [-help] [script=script_filename][exec = "one_command [;one_command;...]"]Options Description (Default)-----------------------------------------------------------------script script file name (None)help help on the command options (None)exec exec a set of commands (None)-----------------------------------------------------------------
[oracle@cjcos02 ~]$ adrci exec="show homes"ADR Homes:diag/rdbms/cjc/cjcdiag/clients/user_oracle/host_2119060462_80diag/tnslsnr/cjcos02/listener
执行多个命令
[oracle@cjcos02 ~]$ adrci exec="show homes;show incident"ADR Homes:diag/rdbms/cjc/cjcdiag/clients/user_oracle/host_2119060462_80diag/tnslsnr/cjcos02/listenerADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc:*************************************************************************INCIDENT_ID PROBLEM_KEY CREATE_TIME-------------------- ----------------------------------------------------------- ----------------------------------------20553 ORA 600 [kccsbck_first] 2022-10-15 10:40:54.717000 +08:00ADR Home = /oracle/app/oracle/diag/clients/user_oracle/host_2119060462_80:*************************************************************************0 rows fetchedADR Home = /oracle/app/oracle/diag/tnslsnr/cjcos02/listener:*************************************************************************0 rows fetched
通过脚本执行命令
[oracle@cjcos02 ~]$ vi adrci.txtSET HOMEPATH diag/rdbms/orcl/orcl; SHOW ALERT -term[oracle@cjcos02 ~]$ adrci script=adrci.txt......2022-09-03 21:14:05.698000 +08:0003-SEP-2022 21:14:05 * service_update * cjc * 02022-09-03 21:14:32.708000 +08:0003-SEP-2022 21:14:32 * service_update * cjc * 0
设置主目录
如果存在多个实例,可以指定特定的实例进行查看
adrci> show homesADR Homes:diag/rdbms/orclbi/orclbi1diag/rdbms/orclbi/orclbi2adrci> set homepath diag/rdbms/orclbi/orclbi2adrci> show homesADR Homes:diag/rdbms/orclbi/orclbi2
查看警报日志 Alert Log
从Oracle Database 11g开始,警报日志以XML格式文件和文本文件的形式编写。
您可以使用任何文本编辑器查看文件的格式,也可以运行ADRCI命令查看XML格式的警报日志,其中省略了XML标记。
默认情况下,ADRCI在默认编辑器中显示警报日志。
可以使用SET EDITOR命令更改默认编辑器。
adrci> show alertChoose the alert log from the following homes to view:1: diag/rdbms/cjc/cjc2: diag/clients/user_oracle/host_2119060462_803: diag/tnslsnr/cjcos02/listenerQ: to quit
查看告警日志常用命令
从末尾开始查看
adrci> show alert -tail
需要指定HOMEPATH
DIA-48449: Tail alert can only apply to single ADR homeadrci> SET HOMEPATH diag/rdbms/cjc/cjcadrci> show alert -tail
查看末尾10行
adrci> show alert -tail 10
实时查看
adrci> show alert -tail -fadrci> show alert -tail 10 -f
将结果输出到文件
adrci> SPOOL /home/mysql/cjc1203.logadrci> SHOW ALERT -TERMadrci> SPOOL OFF
查询指定错误
adrci> set home diag/rdbms/cjc/cjcadrci> SHOW ALERT -P "MESSAGE_TEXT LIKE '%ORA-01110%'"
结果如下:
......2022-10-15 14:32:32.616000 +08:00Errors in file /oracle/app/oracle/diag/rdbms/cjc/cjc/trace/cjc_j000_5143.trc:ORA-12012: error on auto execute of job 3ORA-00376: file 5 cannot be read at this timeORA-01110: data file 5: '/oradata/cjc/cjctbs01.dbf'ORA-06512: at "CJC.TEST_PRO", line 4ORA-06512: at line 1
查找跟踪文件tracefile
查看所有跟踪文件
adrci> SHOW TRACEFILE
查看mmon相关跟踪文件
adrci> SHOW TRACEFILE %mmon%
列出指定目录下,包含mmon的所有文件名称
adrci> SHOW TRACEFILE %mmon% -PATH /oracle/app/oracle/diag/rdbms/cjc/cjc/trace
按最近修改时间进行排序
adrci> SHOW TRACEFILE -RT
列出了与事件编号1681相关的所有跟踪文件的名称
adrci> SHOW TRACEFILE -I 1681
查看事件 Incidents
adrci> SHOW INCIDENTADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc:*************************************************************************INCIDENT_ID PROBLEM_KEY CREATE_TIME-------------------- ----------------------------------------------------------- ----------------------------------------20553 ORA 600 [kccsbck_first] 2022-10-15 10:40:54.717000 +08:001 rows fetched
生成更详细的报告
adrci> SHOW INCIDENT -MODE BRIEFadrci> SHOW INCIDENT -MODE DETAILADR Home = /oracle/app/oracle/diag/rdbms/cjc/cjc:***********************************************************************************************************************************INCIDENT INFO RECORD 1**********************************************************INCIDENT_ID 20553STATUS readyCREATE_TIME 2022-10-15 10:40:54.717000 +08:00PROBLEM_ID 1CLOSE_TIME <NULL>FLOOD_CONTROLLED noneERROR_FACILITY ORAERROR_NUMBER 600ERROR_ARG1 kccsbck_firstERROR_ARG2 1ERROR_ARG3 3760267893ERROR_ARG4 <NULL>ERROR_ARG5 <NULL>ERROR_ARG6 <NULL>ERROR_ARG7 <NULL>ERROR_ARG8 <NULL>ERROR_ARG9 <NULL>ERROR_ARG10 <NULL>ERROR_ARG11 <NULL>ERROR_ARG12 <NULL>SIGNALLING_COMPONENT <NULL>SIGNALLING_SUBCOMPONENT <NULL>SUSPECT_COMPONENT <NULL>SUSPECT_SUBCOMPONENT <NULL>ECID <NULL>IMPACTS 0PROBLEM_KEY ORA 600 [kccsbck_first]FIRST_INCIDENT 20553FIRSTINC_TIME 2022-10-15 10:40:54.717000 +08:00LAST_INCIDENT 20553LASTINC_TIME 2022-10-15 10:40:54.717000 +08:00IMPACT1 34668546IMPACT2 0IMPACT3 0IMPACT4 0KEY_NAME ProcIdKEY_VALUE 19.1KEY_NAME PQKEY_VALUE (16777216, 1665801648)KEY_NAME Client ProcIdKEY_VALUE oracle@cjcos02 (TNS V1-V3).6377_140737352873792KEY_NAME SIDKEY_VALUE 1.3OWNER_ID 1INCIDENT_FILE /oracle/app/oracle/diag/rdbms/cjc/cjc/trace/cjc_ora_6377.trcOWNER_ID 1INCIDENT_FILE /oracle/app/oracle/diag/rdbms/cjc/cjc/incident/incdir_20553/cjc_ora_6377_i20553.trc1 rows fetched
仅显示了事件1681的详细事件报告
adrci> SHOW INCIDENT -MODE DETAIL -P "INCIDENT_ID=1681"
参考:
https://docs.oracle.com/cd/E11882_01/server.112/e25494/diag.htm#ADMIN11007https://docs.oracle.com/cd/E11882_01/server.112/e22490/adrci.htm#SUTIL700





