oracle

Oracle アラートログとトレースファイルをSQLで確認する

アラートログをSQLにて確認する

本来アラートログは2種類のファイルに出力されますが、V$DIAG_ALERT_EXTを参照すれば両方まとめて確認できますし、キーワード検索などもでき大変便利です。ただ一点不満なのはGV$ DIAG_ALERT_EXT が存在しません。RAC環境においてはそれぞれのインスタンスに接続して確認する必要があります。

select 
ORIGINATING_TIMESTAMP,COMPONENT_ID,HOST_ID,MESSAGE_TEXT
,MESSAGE_TYPE
,decode(MESSAGE_TYPE,1,'UNKNOWN ',2,'INCIDENT_ERROR',3,'ERROR',4,'WARNING',5,'NOTIFICATION',6,'TRACE',NULL) MESSAGE_CODE
,FILENAME
from V$DIAG_ALERT_EXT
where ORIGINATING_TIMESTAMP > '2022/05/01'
order by ORIGINATING_TIMESTAMP 
;

トレースファイルをSQLにて確認する

おそらく12.2以降のバージョンでないとこちらのビューは使えません。(12.1では存在しませんでした)アラートログ同様RAC環境においては注意が必要です。

トレースログファイルの一覧を確認する

SELECT TRACE_FILENAME, MODIFY_TIME FROM V$DIAG_TRACE_FILE
ORDER BY MODIFY_TIME
;

トレースログファイルの内容を確認する

SELECT RECORD_TYPE,LINE_NUMBER,COMPONENT_NAME,TIMESTAMP,PAYLOAD 
FROM V$DIAG_TRACE_FILE_CONTENTS WHERE TRACE_FILENAME='ora19_j002_3103.trc'
order by LINE_NUMBER
;
スポンサーリンク