[转载]Oracle 11g 中告警日志的位置
原文地址:Oracle 11g 中告警日志的位置
作者:superhao
首先介绍2个新名词
Automatic Diagnostic Repository (ADR)
一个存放数据库诊断日志、跟踪文件的目录,称作ADRbase,对应初始化参数DIAGNOSTIC_DEST,如果设置了ORACLE_BASE环境变量,DIAGNOSTIC_DEST等于ORACLE_BASE,如果没有设置ORACLE_BASE,则等与ORACLE_HOME/log。
SQL> show parameter DIAGNOSTIC
NAME TYPE VALUE
------------------------------------ -----------------------------------------
diagnostic_dest string /oracle/oracle
二.aelrt xml file
在oracle 11g中,alert文件的信息是以xml的文件格式存在的,另外提供了普通文本格式的alert文件。
这两份log文件的位置分别是V$DIAG_INFO中的Diag Alert 和Diag Trace对应的目录。
1.通过查询v$diag_info视图获得ADR相关的信息
代码:
sys@ora11g>select * from v$diag_info;
INST_ID NAME VALUE
------- --------------------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base/oracle/u01/app/oracle
1 ADR Home /oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g
1 Diag Trace/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace
1 Diag Alert/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/alert
1 Diag Incident/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/incident
1 Diag Cdump/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/cdump
1 Health Monitor/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/hm
1 Default Trace File/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_3968.trc
1 Active Problem Count 0
1 Active Incident Count 0
11 rows selected.
2.其中Diag Trace对应的目录为文本格式的警告日志,及我们经常习惯使用的日志
代码:
ora11g@RHEL53/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace$ls -lalert_ora11g.log
-rw-r----- 1 oracle oinstall 72513 Feb 27 14:29alert_ora11g.log
3.其中Diag Alert对应的目录为XML格式的警告日志
代码:
ora11g@RHEL53/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/alert$ls -llog.xml
-rw-r----- 1 oracle oinstall 327254 Feb 27 14:29 log.xml
4.我习惯将查看警告日志定义为同名alert在操作系统上直接查看
代码:
ora11g@RHEL53 /home/oracle$alias alert
alias alert='tail -200f$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
5.使用同名进行查看
代码:
ora11g@RHEL53 /home/oracle$alert
代码:
sys@ora11g>select * from v$diag_info;
INST_ID NAME VALUE
------- --------------------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base/oracle/u01/app/oracle
1 ADR Home /oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g
1 Diag Trace/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace
1 Diag Alert/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/alert
1 Diag Incident/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/incident
1 Diag Cdump/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/cdump
1 Health Monitor/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/hm
1 Default Trace File/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_3968.trc
1 Active Problem Count 0
1 Active Incident Count 0
11 rows selected.
2.其中Diag Trace对应的目录为文本格式的警告日志,及我们经常习惯使用的日志
代码:
ora11g@RHEL53/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace$ls -lalert_ora11g.log
-rw-r----- 1 oracle oinstall 72513 Feb 27 14:29alert_ora11g.log
3.其中Diag Alert对应的目录为XML格式的警告日志
代码:
ora11g@RHEL53/oracle/u01/app/oracle/diag/rdbms/ora11g/ora11g/alert$ls -llog.xml
-rw-r----- 1 oracle oinstall 327254 Feb 27 14:29 log.xml
4.我习惯将查看警告日志定义为同名alert在操作系统上直接查看
代码:
ora11g@RHEL53 /home/oracle$alias alert
alias alert='tail -200f$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
5.使用同名进行查看
代码:
ora11g@RHEL53 /home/oracle$alert
=======================================================
Oracle 11g告警日志存储路径
[日期:2012-11-15] | 来源:Linux社区 作者:orcldb |
Oracle 10g之前,告警日志位于bdump文件夹下,但11g对此做了变更,引入了ADR(一个存放数据库诊断日志、跟踪文件的目录),它对应的初始化参数为DIAGNOSTIC_DEST,如果设置了$ORACLE_BASE环境变量,那么DIAGNOSTIC_DEST等于$ORACLE_BASE,如果没有设置$ORACLE_BASE,则等于$ORACLE_HOME/log。
可使用如下语句查询11g告警日志存放路径:
--显示DIAGNOSTIC_DEST的位置
1.show parameter DIAGNOSTIC_DEST;
--查询xml文件的目录
2.select value from v$diag_info where name='Diag Alert';
--查询文本文件的目录
3.select value from v$diag_info where name='Diag Trace';
4.show parameter background_dump_dest;
5.select value from v$parameter where name='background_dump_dest';
注:Oracle 11g的告警日志以两种格式存储:一种是xml格式,另一种是文本格式。