среда, 11 апреля 2012 г.

Reading alert log via SQL in Oracle 11g

X$DBGALERTEXT показывает последний log.xml

X$DIAG_ALERT_EXT показывает объединенное содержимое для файлов log_XX.xml, включая log.xml.

  1. connect sys as sysdba
  2.  
  3. select * from X$DBGALERTEXT where rownum <= 20;
  4.  
  5.  
  6. set linesize 254
  7. col ORIGINATING_TIMESTAMP format a50
  8. col MESSAGE_TEXT format a170
  9.  
  10. SELECT ORIGINATING_TIMESTAMP, message_text FROM X$DIAG_ALERT_EXT
  11. where 1 = 1
  12. and originating_timestamp >= sysdate - 30
  13. and message_text like 'ALTER SYSTEM%'
  14. and message_text not like 'ALTER SYSTEM ARCHIVE LOG%'
  15. ;

Select ORA-XXXXX and TNS-XXXXX errors last 10 minutes:
  1. set linesize 254
  2. col ORIGINATING_TIMESTAMP format a50
  3. col MESSAGE_TEXT format a170
  4.  
  5. SELECT inst_id, originating_timestamp, MESSAGE_TEXT
  6. FROM TABLE (
  7. gv$ (
  8. CURSOR (
  9. SELECT inst_id, originating_timestamp, MESSAGE_TEXT
  10. FROM v$diag_alert_ext
  11. WHERE originating_timestamp > (SYSDATE - 10/1440)
  12. AND (MESSAGE_TEXT LIKE '%ORA-%' or MESSAGE_TEXT LIKE '%TNS-%')
  13. AND MESSAGE_TEXT NOT LIKE '%TNS-12502%'
  14. )
  15. )
  16. )
  17. ORDER BY inst_id, originating_timestamp;