ここではOracleのV$SQLビューを使って実行されたSQLの情報を確認する方法について紹介します。

V$SQLビュー

以下はsampleスキーマで指定した日付以降に実行されたSQL文を取得する例です。

SELECT
  SQL_FULLTEXT
FROM
  V$SQL 
WHERE
  FIRST_LOAD_TIME >= TO_DATE('2021/07/01 20:00:00', 'YYYY/MM/DD HH24/MI/SS') 
  AND PARSING_SCHEMA_NAME = 'sample' 
ORDER BY
  FIRST_LOAD_TIME DESC


以下は主要なV$SQLビューの列です。

列名説明
SQL_TEXTカレント・カーソルのSQLテキストの最初の1000文字
SQL_FULLTEXTCLOB列として公開されるSQL文の全テキスト
SQL_IDライブラリ・キャッシュ内の親カーソルのSQL識別子
FIRST_LOAD_TIME親の作成時刻のタイムスタンプ
PARSING_SCHEMA_NAME
この子カーソルの作成に使用されたスキーマ名
SERVICEサービス名
MODULESQL文の初回解析時に実行中であったモジュールの名前
LAST_LOAD_TIME問合せプランがライブラリ・キャッシュにロードされた時刻
LAST_ACTIVE_TIME問合せプランが最後にアクティブになった時刻


以上、OracleのV$SQLビューを使って実行されたSQLの情報を確認する方法について解説しました。