様々な基本になるサンプルを記録しています。

不定期更新です。

記事のサイドに使用している商品の紹介も掲載しているので、良ければご覧ください。

【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;