先简单介绍下这个视图:
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格式,更加直观!(这个保密,哈哈)