Oracle内部视图X$DBGALERTEXT 迅速定位ALTER.log信息

Oracle内部视图X$DBGALERTEXT,只有11g以后,得益于ADR将alter日志转化成alter.xml。默认存在在$ADR_HOME/alter$trace目录下,并且为日志条目增加了如level之类的属性,使得告警日志能够为Oracle support提供更多有用的信息。


先简单介绍下这个视图:

SQL> desc X$DBGALERTEXT 
 名称														   是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
 ADDR															    RAW(8)
 INDX															    NUMBER
 INST_ID														    NUMBER
 ORIGINATING_TIMESTAMP													    TIMESTAMP(3) WITH TIME ZONE
 NORMALIZED_TIMESTAMP													    TIMESTAMP(3) WITH TIME ZONE
 ORGANIZATION_ID													    VARCHAR2(64)
 COMPONENT_ID														    VARCHAR2(64)
 HOST_ID														    VARCHAR2(64)
 HOST_ADDRESS														    VARCHAR2(46)
 MESSAGE_TYPE														    NUMBER
 MESSAGE_LEVEL														    NUMBER
 MESSAGE_ID														    VARCHAR2(64)
 MESSAGE_GROUP														    VARCHAR2(64)
 CLIENT_ID														    VARCHAR2(64)
 MODULE_ID														    VARCHAR2(64)
 PROCESS_ID														    VARCHAR2(32)
 THREAD_ID														    VARCHAR2(64)
 USER_ID														    VARCHAR2(64)
 INSTANCE_ID														    VARCHAR2(64)
 DETAILED_LOCATION													    VARCHAR2(160)
 PROBLEM_KEY														    VARCHAR2(64)
 UPSTREAM_COMP_ID													    VARCHAR2(100)
 DOWNSTREAM_COMP_ID													    VARCHAR2(100)
 EXECUTION_CONTEXT_ID													    VARCHAR2(100)
 EXECUTION_CONTEXT_SEQUENCE												    NUMBER
 ERROR_INSTANCE_ID													    NUMBER
 ERROR_INSTANCE_SEQUENCE												    NUMBER
 VERSION														    NUMBER
 MESSAGE_TEXT														    VARCHAR2(2048)
 MESSAGE_ARGUMENTS													    VARCHAR2(128)
 SUPPLEMENTAL_ATTRIBUTES												    VARCHAR2(128)
 SUPPLEMENTAL_DETAILS													    VARCHAR2(128)
 PARTITION														    NUMBER
 RECORD_ID														    NUMBE


随便看看我目前数据库中的一些alter日志情况:

SQL> select originating_timestamp,message_group,problem_key,message_text from x$dbgalertext  where rownum < 2;

ORIGINATING_TIMESTAMP							    MESSAGE_GROUP
--------------------------------------------------------------------------- ----------------------------------------------------------------
PROBLEM_KEY
----------------------------------------------------------------
MESSAGE_TEXT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-2月 -16 03.04.09.066 上午 +08:00					    startup

Starting ORACLE instance (normal)


SQL> select originating_timestamp,message_group,problem_key,message_text from x$dbgalertext WHERE memsage_text like 'ORA-%';

这样可以更加直观的查看ORA- XXX 的具体时间。

当然,需要注意的事,必须保证alter.xml完整,否则此内部视图内的数据也会不完整。


此外,网上可以google到很多用python实现获取alter日志内的错误或者警告,不过总结一点,还是用内部视图比较爽!



哈哈,最后,我自己定制化此视图相关的内容,然后跑脚本,直接做成了html格式,更加直观!(这个保密,哈哈)


转载于:https://my.oschina.net/1272149624/blog/633310

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值