Oracle-ADR工具使用
Automatic Diagnostic Repository (ADR)
诊断数据包括事件和问题描述、跟踪文件、转储、运行状况监视器报告、警报日志条目等。
概述
自动诊断存储库 (ADR) 是一个基于文件的存储库,用于存储数据库诊断数据,例如跟踪、转储、警报日志、运行状况监视器报告等。它具有跨多个实例和多个产品的统一目录结构。从11g 开始,数据库、Oracle 自动存储管理 (Oracle ASM) 和其他 Oracle 产品或组件将所有诊断数据存储在 ADR 中。每个产品的每个实例都在其自己的 ADR 主目录下存储诊断数据。例如,在具有共享存储和 Oracle ASM 的 Oracle Real Application Clusters (Oracle RAC) 环境中,每个数据库实例和每个 Oracle ASM 实例在 ADR 中都有一个主目录。 ADR 的统一目录结构使客户和 Oracle 支持部门能够关联和分析跨多个实例和多个产品的诊断数据。
使用
帮助
Syntax:
adrci [-help] [script=script_filename] [exec="command [;command;...]"]
Options Description (Default)
-----------------------------------------------------------------
script script file name (None)
help help on the command options (None)
exec exec a set of commands (None)
-----------------------------------------------------------------
adrci> help
HELP [topic]
Available Topics:
CREATE REPORT
ECHO
ESTIMATE
EXIT
HELP
HOST
IPS
PURGE
RUN
SELECT
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 LOG
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>
Interactive Mode(交互模式)
adrci
adrci> show homes
Batch Mode(批处理模式)
-
EXEC :
# 语法格式 ADRCI EXEC="COMMAND[; COMMAND]..." # 示例 ADRCI EXEC="SHOW HOMES; SHOW INCIDENT"
-
SCRIPT :
# 语法格式 ADRCI SCRIPT=SCRIPT_FILE_NAME cat > adrci_script.txt <<-EOF SET HOMEPATH diag/rdbms/orcl/orcl; SHOW ALERT -term EOF # 示例 ADRCI SCRIPT=adrci_script.txt
实例
查看alert日志
滚动刷新显示警报日志中的最后 100 个条目
adrci EXEC="SHOW ALERT -TAIL -F 100"
仅显示包含字符串“ORA-600”的警报日志消息
adrci
SHOW ALERT -P "MESSAGE_TEXT LIKE '%ORA-600%'"
清理日志
purge [-i {id | start_id end_id} |
-age mins [-type {ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP}]]
修改配置
用法
adrci> help set control
Usage: SET CONTROL (<purge_policy>=<value>, ...)
Purpose: Set the purging policy.
Arguments:
<purge_policy>: The purging policy name. The current valid values are
"SHORTP_POLICY", "LONGP_POLICY" and "SIZEP_POLICY".
<value>: The purging time value in hours.
Examples:
set control (SHORTP_POLICY = 1440)
set control (SIZEP_POLICY = 1000000000)
adrci>
说明
SHORTP_POLICY和LONGP_POLICY的任务都是清理历史文件,但各自负责的类型不同
-
SHORTP_POLICY:清除ADR目录中N小时前的内容,默认720小时(即30天),最大值35791394
- Trace files, including those files stored in the cdmp_timestamp subdirectories
- Core dump files
- Packaging information
-
LONGP_POLICY:清除ADR目录中N小时前的内容,默认8760小时(即365天),最大值35791394
- Incident information
- Incident dumps
- Alert logs
-
SIZEP_POLICY:Oracle Database 12c Release 2 (12.2) 新引入的属性,用于限制ADR目录大小。MMON 进程收集ADR目录的统计信息,默认24小时清理一次。MMON每4小时检查SIZEP_POLICY设置状态
-
PURGE_THRESHOLD: 由SIZEP_POLICY的值触发,默认情况下,PURGE_THRESHOLD 的值是 SIZEP_POLICY 值的 95%
修改配置
set control (SHORTP_POLICY = 48 LONGP_POLICY = 72 )
使用ADRCI一条命令收集每小时连接频率
adrci exec='set home diag/tnslsnr ; show alert -term -p \"' "MESSAGE_TEXT like \'%establish%\' and ORIGINATING_TIMESTAMP > \'2019-08-31 00:00:00\'" '\"' | awk '/establish/{sub(/:.*/,"",$2);print "connection/hour at "$1,$2":00-"$2":59"}'|uniq -c
[-term]: Direct results to terminal. If this option is not specified,
the results will be open in an editor.
By default, it will open in vi on Linux, but "set editor" can be used
to set other editors.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤