はじめに
-
7月の新機能アナウンスに、「The view
V$DIAG_ALERT_EXT
is not available for alert log data. As a replacement useV$CLIENT_ERRORS
to search for alert log related error data.」 との記載があります。 -
V$DIAG_ALERT_EXT
はアラートログ・データに利用できなくなり、代替としてV$CLIENT_ERRORS
を使用して、アラートログに関連するエラーデータを検索できるようになりました。 -
本記事では、意図的にエラーを発生させ、エラーデータの情報を確認してみたいと思います。
エラーの生成
- Autonomous databaseにSQL*Plus等を用いてログインします。
- スキーマ内に存在しない表をクエリするSELECT文を実行します。
SELECT * FROM table1; ERROR at line 1: ORA-00942: table or view "ADMIN"."TABLE1" does not exist
のようなエラーが出力されます。
エラーデータの確認
-
V$CLIENT_ERRORS
を用いて、エラーデータを確認します。SELECT SID, SERIAL#, USERNAME, MODULE, SQLID, ERROR_NUM, ERROR_MESSAGE, ERROR_TIME FROM V$CLIENT_ERRORS FETCH FIRST 1 ROWS ONLY; SID SERIAL# USERNAME MODULE SQLID ERROR_NUM ERROR_MESSAGE ERROR_TIME ------ ------- --------- ---------- ------------- --------- ----------------------------------- -------------------- 40275 43623 ADMIN SQL*Plus 4x527atv0wsc3 942 ORA-00942: table or view 2025-08-04 03:53:19 "ADMIN"."TABLE 1" does not exist
- 上記のように、SQLを実行したユーザーや、SQLID、エラーメッセージ、実際のSQL文やエラーが発生した時刻などを確認することができます。