アラートログを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
;
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 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
;
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
;