参考文档:
https://docs.oracle.com/en/database/oracle/oracle-database/23/sutil/oracle-adr-command-interpreter-adrci.html#GUID-E0FF3013-2EBF-4110-88BF-69E7DD2BBD7C
首先ADRCI是什么:
自动诊断存储库命令解释器 (ADRCI) 是一个 命令行工具,它是 Oracle 数据库故障诊断基础结构的一部分。
ADRCI 实用程序可帮助您诊断数据库中出现问题的原因 (事件)。它可以帮助您在 Oracle 事件包中收集数据 支持可能需要帮助您解决问题的根本原因。
然后ADRCI可以做什么:
ADRCI协助您执行以下操作
1 查看自动诊断存储库 (ADR) 中的诊断数据。
2 查看运行状况监视器报告。
3 将事件和问题信息打包到 zip 文件中,以便传输到 Oracle 支持。
ADRCI的其他特点:
1 诊断数据包括事件和问题描述、跟踪文件、转储、运行状况监视器报告、警报日志条目等。
2 ADR 数据受 ADR 目录上的操作系统权限保护,因此无需登录
3 ADRCI具有丰富的命令集。
ADRCI如何使用:
在交互模式下使用ADRCI诊断 Oracle 数据库时 事件,它会提示您一次输入一个单独的命令。
确保正确设置了 ORACLE_HOME 和 PATH 环境变量。
在Microsoft Windows 平台上,这些环境变量是 在安装过程中自动在 Windows 注册表中设置。在其他 平台,您必须设置和检查环境变量与操作 系统命令。
环境变量必须包括$ORACLE_HOME/bin
adrci主要有三种方式执行命令:
1 交互式的方式
2 命令行的方式执行
3 脚本的放肆执行
分别测试三种方式:
第一种:交互的方式
[oracle@test ~]$ adrci
ADRCI: Release 19.0.0.0.0 - Production on Wed Jun 5 04:38:35 2024
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u02/app/oracle"
adrci> show alert
Choose the home from which to view the alert log:
1: diag/rdbms/orcl/orcl
2: diag/rdbms/test/test
3: diag/rdbms/rac11g/rac11g
4: diag/rdbms/tt/tt
5: diag/clients/user_oracle/host_2662839991_110
6: diag/tnslsnr/test/listener
Q: to quit
Please select option:
第二种:命令行方式
[oracle@test ~]$ adrci EXEC="SHOW HOMES"
ADR Homes:
diag/rdbms/orcl/orcl
diag/rdbms/test/test
diag/rdbms/rac11g/rac11g
diag/rdbms/tt/tt
diag/clients/user_oracle/host_2662839991_110
diag/tnslsnr/test/listener
第三种:脚本方式
[oracle@test ~]$ cat 11.txt
show homes;
help
[oracle@test ~]$ adrci SCRIPT=11.txt
ADRCI: Release 19.0.0.0.0 - Production on Wed Jun 5 04:44:18 2024
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u02/app/oracle"
ADR Homes:
diag/rdbms/orcl/orcl
diag/rdbms/test/test
diag/rdbms/rac11g/rac11g
diag/rdbms/tt/tt
diag/clients/user_oracle/host_2662839991_110
diag/tnslsnr/test/listener
常用的命令:
一:查看alert相关信息
1 查看告警日志:
adrci> SET HOMEPATH diag/rdbms/orcl/orcl
adrci> show alert
2 查看告警日志的最后一部分:
adrci> SHOW ALERT -TAIL
3 查看最后多少条
adrci> SHOW ALERT -TAIL 100 --》查看最后100条
4 对最后的日志进行跟踪
adrci> SHOW ALERT -TAIL -F
5 将alert日志输出到某个文件中
SPOOL /home/home/test.LOG
SHOW ALERT -TERM
SPOOL OFF
6 输出包含某个关键字的日志
show alert -p "message_text like '%ORA-%'"
二:查找跟踪文件
1 列出所有trace文件
SHOW TRACEFILE
2 列出包含某个字符的trace文件
SHOW TRACEFILE %mmon%
3 此语句列出位于 /u02/app/oracle/diag/rdbms/orcl/orcl/trace 目录中且文件名中包含字符串的每个跟踪文件的名称:字符串mmon
SHOW TRACEFILE %mmon% -PATH /u02/app/oracle/diag/rdbms/orcl/orcl/trace
4 按上次修改时间的相反顺序列出跟踪文件的名称。也就是说,最近修改的跟踪文件将列在最前面。
SHOW TRACEFILE -RT
SHOW TRACEFILE -T 了--》列出trace时间
5 显示指定incident id的trace文件
adrci> SHOW TRACEFILE -I 16841
三:查看事件
1 查看事件
adrci> SHOW INCIDENT
2 分别用简明和详细的方式查看信息
SHOW INCIDENT -MODE BRIEF
SHOW INCIDENT -MODE DETAIL