oracle

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 ;
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環境においては注意が必要です。

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 TRACE_FILENAME, MODIFY_TIME FROM V$DIAG_TRACE_FILE
ORDER BY MODIFY_TIME
;

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 ;
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
;
スポンサーリンク
タイトルとURLをコピーしました