备份恢复Lesson 09. Diagnosing Failures
1. 请说明 ADR 的目录结构? 9-5
保存在数据库外部
ADR BASE(DIAGNOSTIC_DEST(空) -> $ORACLE_BASE -> $ORACLE_HOME/log) -> diag -> rdbms -> DB Name -> SID(ADR Home) [默认位置 元数据]
v$DIAG_INFO
$ORACLE_BASE
oradata 数据库安装目录
fase_recoverly_area 快速恢复目录
product oracle本身软件目录
diag 诊断
asm
em
lsnrctl
tnslsnr
rdbms
em12rep
rcat
orcl 数据库
orcl 实例
trace 文本预警日志文件和跟踪文件 (前台和后台进程跟踪和预警日志文件)
alert XML预警日志文件
incpkg 意外事件包文件
incident 意外事件记录信息
hm 健康监视器检查报告
cdump 核心转储文件
2. 数据恢复指导的使用涉及到哪些命令,每个命令的作用是什么? 9-15 9-21
list failure:列出先前执行的故障诊断信息 9-16
advise failure: 显示推荐修复选项 9-18
repair failure:修复和关闭故障(在同一RMAN会话中的ADVISE之后) 9-19
change failure:更改故障优先级或者关闭一个或者更多故障 9-20
目录标题
1. 路径举例
/<oracle_base>/diag/rdbms/<db_name>/<instance_name>/trace
2. 各目录层级含义
-
/<oracle_base>/diag- ADR(Automatic Diagnostic Repository)统一诊断目录的根路径。
- 11g 之后 Oracle 强制使用。
-
rdbms- 表示存放 数据库实例(RDBMS) 的诊断文件。
- 其他组件可能有:
tnslsnr(监听器)、asm(ASM 实例)、client(客户端)等。
-
<db_name>-
数据库名(
DB_NAME参数)。 -
可通过查询确认:
show parameter db_name;
-
-
<instance_name>-
实例名(
INSTANCE_NAME参数),通常与ORACLE_SID一致。 -
单实例时一般等于
db_name; -
RAC 时则可能是
db1、db2这样的分实例名。 -
查询方法:
show parameter instance_name;
-
-
trace-
存放该实例下的 诊断日志和跟踪文件:
alert_<instance_name>.log→ Alert 日志*.trc→ Trace 文件(后台进程、会话 SQL Trace)*.trm→ Trace Mapping 文件
-
3. RAC 环境下的例子
如果数据库是 RAC:
/<oracle_base>/diag/rdbms/prod/prod1/trace
/<oracle_base>/diag/rdbms/prod/prod2/trace
prod→ 数据库名prod1、prod2→ 两个实例名
4. 总结
Oracle ADR 路径的结构为:
/<oracle_base>/diag/<component>/<db_name>/<instance_name>/<subdir>
其中:
<component>= rdbms / asm / tnslsnr 等<db_name>= 数据库名<instance_name>= 实例名<subdir>= trace / alert / cdump / hm 等
要不要我帮你整理一张 ADR 路径结构表格(把 trace、alert、incident、cdump 等子目录用途全部列清楚)?这样以后排查问题可以更快定位到对应日志。
本文详细介绍了Oracle ADR(Automatic Diagnostic Repository)的目录结构,包括其在数据库外部的保存方式及各子目录的功能,并阐述了数据恢复指导中涉及的关键命令及其作用。
1169

被折叠的 条评论
为什么被折叠?



