Oracle故障诊断(一线DBA必备技能)之ADRCI(二)

1. 题记:

本篇博文继续详细介绍一线DBA必备技能—Oracle DB故障诊断工具ADRCI,本文主要介绍及演示使用 ADRCI 来清除诊断文件。

2. 确定 ADR(自动诊断知识库)的位置

在使用 ADRCI 清除诊断文件之前,首先要知道 ADR 的位置。可以通过以下 SQL 查询来获取 ADR 的基本路径:

SELECT value FROM v$diag_info WHERE name = ‘Diag Trace’;
在这里插入图片描述
将返回 ADR 中跟踪文件(trace files)所在的目录路径,其他相关的诊断文件也存储在 ADR 目录结构下的不同子目录中。
或者也可以使用show home命令(我自己经常使用这个命令,简短明了):
在这里插入图片描述

3. 启动 ADRCI 工具

在操作系统的命令行界面中,输入adrci命令来启动 ADRCI 工具。进入 ADRCI 的命令提示符环境:
在这里插入图片描述

显示了 ADRCI 的版本信息和 ADR 的基本目录(ADR base)。

4. 查看可清除的诊断文件信息

  1. 可以使用show problem命令查看存在的问题记录,每个问题可能关联多个诊断文件。例如:
    在这里插入图片描述

  2. 还可以使用show incident命令查看具体的事件信息,包括事件对应的诊断文件。例如:
    在这里插入图片描述

  3. 也可以用以下命令查看具体某一条

ADRCI> show incident -mode detail -p “incident_id=413899”
这将详细显示事件 ID 为 1 的事件信息,包括相关诊断文件的位置等细节:
在这里插入图片描述

5. 清除诊断文件

最常用的清除命令是purge。

  1. 按时间清除
    例如,要清除 7 天以前的所有诊断文件,可以使用以下命令:
    ADRCI> purge -age 7 -type all
    这里-age 7表示清除 7 天以前的文件,-type all表示清除所有类型的诊断文件,包括跟踪文件、转储文件等。
  2. 按事件清除
    如果只想清除与某个特定事件相关的诊断文件,可以先找到事件 ID(如通过show incident命令),然后使用以下命令:
    ADRCI> purge -incident <incident_id>
    其中<incident_id>是要清除的事件对应的 ID。例如,要清除事件 ID 为 413899 的相关诊断文件,命令为ADRCI> purge -incident 413899。
  3. 按问题清除
    也可以按问题来清除相关诊断文件。先找到问题 ID(通过show problem命令),然后使用以下命令:
    ADRCI> purge -problem <problem_id>
    例如,要清除问题 ID 为 413899 的相关诊断文件,命令为ADRCI> purge -problem 413899。
    退出 ADRCI 工具
    完成诊断文件清除操作后,可以使用exit命令退出 ADRCI 工具,例如:
    在这里插入图片描述
    码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。

猜你喜欢

转载自blog.csdn.net/qq_45732829/article/details/143237683