adrci是oracle 11g起内置的诊断入口,用于优先定位ora-00600等致命错误的真实上下文;需确认adr base与home可访问、权限正确,并用show alert按时间范围检索首错,结合show incident和ips package获取完整故障快照。
adrci 是 oracle 11g 起就内置的诊断入口,数据库安装后一旦出现 ora-00600、ora-07445 或反复崩溃,必须优先用它看真实错误上下文——而不是直接查文本 alert log 或翻日志文件路径。
确认 ADR Base 和目标 ADR Home 是否可访问
Oracle 安装后若未显式设置 DIAGNOSTIC_DEST,默认会 fallback 到 $ORACLE_BASE/diag;但常见问题是 $ORACLE_BASE 未设或权限不对,导致 ADR 根目录创建失败,后续所有诊断文件(包括 alert XML)都写不进去。
验证步骤:
- 先在 OS 层检查环境变量:
echo $ORACLE_BASE,确保非空且目录存在、属主为 oracle 用户 - 启动
adrci后第一眼要看输出的ADR base路径是否合理;如果显示ADR base = ""或路径不存在,说明 ADR 初始化失败,SHOW ALERT必然报错或返回空 - 运行
SHOW HOMES,若输出为空,不是没错误,而是 ADR Home 根本没生成——此时应立即检查DIAGNOSTIC_DEST参数(通过SELECT value FROM v$diag_info WHERE name = 'Diag Alert')和磁盘空间/权限
用 SHOW ALERT 快速定位首次致命错误
刚安装完就出问题,最关键是找到第一个 ORA- 错误,而不是翻最近 100 行。新库启动失败往往卡在参数校验、控制文件读取或内存分配阶段,错误集中在启动头几秒。
实操建议:
- 别用
SHOW ALERT -TAIL 50——它只截末尾,可能漏掉真正的首错。改用SHOW ALERT -FROM "2026-06-23 00:00:00" -TO "2026-06-23 01:00:00"(替换成你实际安装时间),把启动窗口全捞出来 - 若看到
ORA-00845: MEMORY_TARGET not supported on this system,说明 Linux 的/dev/shm太小,和 ADR 无关,但容易被误判为诊断路径问题 - 若
SHOW ALERT报ADR home is not set,不是命令错了,是实例根本没成功注册进 ADR——这时要回退查sqlplus / as sysdba下的STARTUP输出,或直接看$ORACLE_HOME/rdbms/log下的installActions*.log
按 incident ID 拉出完整上下文,而非只看 trace 文件名
安装失败时,系统常生成 incident 但不自动写入 alert log 全路径,只记 ID。光看 trace/ 目录里一堆 orcl_ora_12345.trc 文件毫无意义。
关键动作:
- 先执行
SHOW INCIDENT -MODE DETAIL,找Problem Key包含ORA-00600或ORA-7445的条目,记下它的INCIDENT_ID - 再用
IPS PACKAGE INCIDENT <incident_id></incident_id>(不是PURGE!)打包该事件所有关联文件(alert 片段、trace、dump、hm report),生成 .zip —— 这才是给 Oracle Support 的标准材料 - 切勿手动
cd进incident/子目录去 cat 文件:里面文件名含随机字符串,且部分是二进制 dump,直接读会乱码;IPS PACKAGE才能还原可读结构
purge 命令不能解决安装故障,反而可能掩盖线索
新手常误以为“清旧日志=腾空间=解决问题”,但在安装阶段执行 PURGE -AGE 1 -TYPE ALL 是危险操作:它会删掉刚生成的唯一 incident 和 trace,导致无法复现根因。
真正该做的只有两件事:
- 确认 ADR 写入权限:检查
$ADR_BASE/diag/rdbms/<db_name>/<sid></sid></db_name>目录属主是否为 oracle,且有写权限(drwxr-x---即可,不必 777) - 限制诊断输出量(仅限调试):临时加参数启动实例
ALTER SYSTEM SET "_diag_adr_enabled"=FALSE SCOPE=SPFILE,强制回退到旧式bdump/cdump,验证是否 ADR 机制本身异常;但上线前必须关掉,否则失去自动 incident 捕获能力
ADR 不是日志归档工具,它是故障快照系统。安装后第一次严重错误的完整 incident 链,比任何文档都可靠——删了就真没了。











