Oracle数据库告警日志路径的研究

初始化参数background_dump_dest和user_dump_dest的区别
Oracle数据库告警日志记录数据库运行时的活动信息,对于Oracle 11g及其之前的版本,其在文件系统中的路径由初始化参数background_dump_dest决定。而user_dump_dest用于指定在哪个目录中保存针对用户进程行为进行跟踪的debug文件。默认情况下,background_dump_dest和user_dump_dest的值是相同的。
至目前为止,Oracle数据库的所有版本都支持这两个参数。

告警日志文件名的构成
alert_<ORACLE_SID>.log

查看初始化参数background_dump_dest的值,显示告警日志路径
show parameter background_dump_dest

除了从spfile获得告警日志路径之外,还可以从V$PARAMETER视图查询background_dump_dest的当前生效值,例如:
select name,value from V$PARAMETER where name in ('background_dump_dest','user_dump_dest');

以下是一个真实例子,这个例子中的background_dump_dest和user_dump_dest的值不相同。
SQL> select name,value from V$PARAMETER where name in ('background_dump_dest','user_dump_dest');

NAME                 VALUE
-------------------- --------------------------------------------------
background_dump_dest /oracle/EQ2/saptrace/background
user_dump_dest       /oracle/EQ2/saptrace/usertrace


BACKGROUND_DUMP_DEST参数值的构成
如果在安装数据库时设置过环境变量$ORACLE_BASE,那么DIAGNOSTIC_DEST的默认值就等于$ORACLE_BASE的值。如果未设置过$ORACLE_BASE,则DIAGNOSTIC_DEST的默认值为$ORACLE_HOME/log。
在12c之前的版本中,BACKGROUND_DUMP_DEST的值基于DIAGNOSTIC_DEST的值,因此BACKGROUND_DUMP_DEST指向路径<diagnostic_dest>/product_type/product_id/instance_id/trace。
但是自12.1.0.2起,BACKGROUND_DUMP_DEST的值指向$ORACLE_HOME/rdbms/log。


Oracle在11g及之后版本中引入了ADR概念(即Automatic Diagnostic Repository,这个概念在10g及之前版本中是没有的),因此自11g开始,还可以从v$diag_info视图中查询告警日志路径。
select name,value from v$diag_info where name='Diag Trace';

12c及之后版本数据库的告警日志路径不是BACKGROUND_DUMP_DEST参数的值,应该从v$diag_info视图中取得该路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值