【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が分かる
- デバッグができない、本番環境での調査に便利