【Oracle】実行中のSQLを確認するSQL

スポンサーリンク

SQL

SELECT
a.SQL_TEXT
,b.SQL_EXEC_START
,a.CPU_TIME
FROM
V$SQLAREA a,
V$SESSION b
WHERE a.LAST_ACTIVE_TIME > TO_DATE(SYSDATE, 'YYYY/MM/DD HH:MI:SS')
AND a.SQL_ID = b.SQL_ID
AND b.STATUS = 'ACTIVE'
ORDER BY a.LAST_ACTIVE_TIME

使いどころ

  • 時間のかかる処理があるが、ボトルネックとなるSQLを特定できない時
  • 上記SQLを何度か実行していると、時間のかかっているSQLが分かる
  • デバッグができない、本番環境での調査に便利

スポンサーリンク

Oracle