Oracle 诊断工具

2023年 12月 29日 66.9k 0

原文:https://docs.oracle.com/cd/B28359_01/server.111/b28319/adrci.htm#BABBHGFC

作者简介:

作者:LuciferLiu
中国DBA联盟(ACDU)成员。目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。

健康检查还在慢慢翻alert日志吗?
清理日志还在繁琐的手动rm吗?
Oracle要求收集诊断日志还在慢慢查找吗?

不妨了解下它:ADR Command Interpreter(ADRCI)

Oracle 诊断工具-1

一、介绍

ADRCI 是一个命令行工具,是 Oracle 数据库第 11g 版中引入的故障诊断基础架构的一部分。 ADRCI 使您能够:

1、查看自动诊断存储库 (ADR) 中的诊断数据。
2、查看运行状况监视器报告。
3、将事件和问题信息打包到一个 zip 文件中,以便传输给 Oracle 支持。

ADR 是一个基于文件的数据库诊断数据存储库,例如跟踪、转储、警报日志、运行状况监视器报告等。 它具有跨多个实例和多个产品的统一目录结构。 从版本 11g 开始,数据库、自动存储管理 (ASM) 和其他 Oracle 产品或组件将所有诊断数据存储在 ADR 中。

优势:

1、无需数据库实例开启,不影响实例运行。
2、统一管理多个产品和实例,无需反复切换环境变量。
3、记录数据库发生的严重错误,方便DBA在ADR中跟踪问题。 每个问题都有一个问题键和一个唯一的问题 ID。可通过命令 show problem 来查看错误。
4、每个问题根据发生的次数记录为一个个事件。当DBA在ADR中跟踪事件,每个事件都由一个数字事件 ID 标识,该 ID 在 ADR 中是唯一的。可通过命令 show incident -all 来查看错误。
5、可以快速将事件和问题信息打包到一个 zip 文件中,以便传输给 Oracle 支持。
6、可以快速清理大日志文件。
7、所有平台均支持。

二、如何使用

1、健康检查

作为一名DBA,每天对数据库进行健康检查是家常便饭了,那么如何快速高效的进行检查就很重要了。通过ADRCI工具就可以实现,接下来看看如何使用:

例如,需要检查主机中数据库实例运行是否存在错误:
首先 su - oracle 连接oracle用户,使用 adrci 命令进入控制台:
Oracle 诊断工具-2
输入 show problem 来查看所有实例的运行情况:
Oracle 诊断工具-3
可以看到当前实例 cdb19c1 运行过程中没有发生严重错误。如果有多个实例,这里会显示所有实例的情况。

2、清理日志

相信大家肯定遇到过因为数据库日志过大的问题,导致撑满磁盘空间或者数据库宕机的情况。所以,及时清理数据库日志是DBA需要经常做的事,通过ADRCI可以方便快捷又安全的实现。

需要在指定用户下进行操作,本次操作环境为rac,所以是grid用户。

首先,通过命令 show home 查看监听日志的位置:
Oracle 诊断工具-4
设置当前路径 set home diag/tnslsnr/rac01/listener
使用 help purge 命令查看帮助:
Oracle 诊断工具-5
假设当前alert日志为5G,需要清理日,按时间进行清理,保留10天日志:purge -age 14400 -type alert 。
-age 的单位是 分钟 。
Oracle 诊断工具-6
当然,也可以通过指定大小 -size 来进行清理整个ADR目录,单位是 bytes

3、IPS打包错误日志

一般当数据库遇到一些DBA无法解决的问题或者内部600错误时,会在MOS提交SR来获取Oracle原厂的帮助,当技术人员要求我们提供相关日志时,可以通过adrci工具来打包。

首先通过 show incident -all 获取错误事件ID号
如需要查看错误事件详细信息:show incident -mode detail -p "incident_id=72697"
查看 ips 帮助命令:
Oracle 诊断工具-7
通过以下命令打包错误事件:
ips基于事件ID创建一个package:ips create package incident 72697
将事件加入到package中:ips add incident 72697 package 1 ,可加入多个事件。
打包成zip文件放入主机指定位置:ips generate package 1 in /home/oracle

参考官方文章: ADRCI: ADR Command Interpreter

作者简介:

作者:LuciferLiu
中国DBA联盟(ACDU)成员。目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。

健康检查还在慢慢翻alert日志吗?
清理日志还在繁琐的手动rm吗?
Oracle要求收集诊断日志还在慢慢查找吗?

不妨了解下它:ADR Command Interpreter(ADRCI)

Oracle 诊断工具-8

一、介绍

ADRCI 是一个命令行工具,是 Oracle 数据库第 11g 版中引入的故障诊断基础架构的一部分。 ADRCI 使您能够:

1、查看自动诊断存储库 (ADR) 中的诊断数据。
2、查看运行状况监视器报告。
3、将事件和问题信息打包到一个 zip 文件中,以便传输给 Oracle 支持。

ADR 是一个基于文件的数据库诊断数据存储库,例如跟踪、转储、警报日志、运行状况监视器报告等。 它具有跨多个实例和多个产品的统一目录结构。 从版本 11g 开始,数据库、自动存储管理 (ASM) 和其他 Oracle 产品或组件将所有诊断数据存储在 ADR 中。

优势:

1、无需数据库实例开启,不影响实例运行。
2、统一管理多个产品和实例,无需反复切换环境变量。
3、记录数据库发生的严重错误,方便DBA在ADR中跟踪问题。 每个问题都有一个问题键和一个唯一的问题 ID。可通过命令 show problem 来查看错误。
4、每个问题根据发生的次数记录为一个个事件。当DBA在ADR中跟踪事件,每个事件都由一个数字事件 ID 标识,该 ID 在 ADR 中是唯一的。可通过命令 show incident -all 来查看错误。
5、可以快速将事件和问题信息打包到一个 zip 文件中,以便传输给 Oracle 支持。
6、可以快速清理大日志文件。
7、所有平台均支持。

二、如何使用

1、健康检查

作为一名DBA,每天对数据库进行健康检查是家常便饭了,那么如何快速高效的进行检查就很重要了。通过ADRCI工具就可以实现,接下来看看如何使用:

例如,需要检查主机中数据库实例运行是否存在错误:
首先 su - oracle 连接oracle用户,使用 adrci 命令进入控制台:
Oracle 诊断工具-1
输入 show problem 来查看所有实例的运行情况:
Oracle 诊断工具-2
可以看到当前实例 cdb19c1 运行过程中没有发生严重错误。如果有多个实例,这里会显示所有实例的情况。

2、清理日志

相信大家肯定遇到过因为数据库日志过大的问题,导致撑满磁盘空间或者数据库宕机的情况。所以,及时清理数据库日志是DBA需要经常做的事,通过ADRCI可以方便快捷又安全的实现。

需要在指定用户下进行操作,本次操作环境为rac,所以是grid用户。

首先,通过命令 show home 查看监听日志的位置:
Oracle 诊断工具-3
设置当前路径 set home diag/tnslsnr/rac01/listener
使用 help purge 命令查看帮助:
Oracle 诊断工具-4
假设当前alert日志为5G,需要清理日,按时间进行清理,保留10天日志:purge -age 14400 -type alert 。
-age 的单位是 分钟 。
Oracle 诊断工具-5
当然,也可以通过指定大小 -size 来进行清理整个ADR目录,单位是 bytes

3、IPS打包错误日志

一般当数据库遇到一些DBA无法解决的问题或者内部600错误时,会在MOS提交SR来获取Oracle原厂的帮助,当技术人员要求我们提供相关日志时,可以通过adrci工具来打包。

首先通过 show incident -all 获取错误事件ID号
如需要查看错误事件详细信息:show incident -mode detail -p "incident_id=72697"
查看 ips 帮助命令:
Oracle 诊断工具-6
通过以下命令打包错误事件:
ips基于事件ID创建一个package:ips create package incident 72697
将事件加入到package中:ips add incident 72697 package 1 ,可加入多个事件。
打包成zip文件放入主机指定位置:ips generate package 1 in /home/oracle

参考官方文章: ADRCI: ADR Command Interpreter

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论