【Oracle】DBセッション確認
接続セッションの状態を確認するSQL
ACTIVEセッションが一つ増えるけど、実行している自分になるので気にしないでおこう
SELECT TO_CHAR(SYSDATE,'yyyy/mm/dd HH24:MI:SS'), S.STATUS, S.USERNAME, NVL(S.SQL_EXEC_START,S.PREV_EXEC_START), S.LAST_CALL_ET, ROUND( CASE WHEN Q.EXECUTIONS > 0 THEN Q.CPU_TIME / Q.EXECUTIONS / 1000 ELSE 0 END,2) FROM V$SESSION S, V$SQLSTATS Q WHERE S.USER# <> 0 AND Q.SQL_ID (+) = NVL(S.SQL_ID,S.PREV_SQL_ID) ORDER BY CASE STATUS WHEN 'ACTIVE' THEN 1 WHEN 'INACTIVE' THEN 2 ELSE 9 END, CASE WHEN Q.EXECUTIONS > 0 THEN Q.CPU_TIME / Q.EXECUTIONS ELSE 0 END DESC;