본문 바로가기
Dev/DataBase

[Oracle] 장시간 실행 SQL 확인

by nakanara 2025. 4. 24.
반응형

 

이상한 SQL 등 장시간 사용하고 있는 쿼리를 Oracle환경에서 확인이 필요한 경우, 
활성화된 세션을 기준으로 실행된 시간을 체크하는 SQL

SELECT
    s.sid,
    s.serial#,
    s.username,
    s.status,
    s.machine,
    s.program,
    s.module,
    s.event,
    s.sql_id,
    q.sql_text,
    ROUND(s.last_call_et / 60, 1) AS "run(Min)",
    s.logon_time
FROM
    v$session s
JOIN v$process p ON s.paddr = p.addr
LEFT JOIN v$sql q ON s.sql_id = q.sql_id
WHERE
    s.username IS NOT NULL
    AND s.status = 'ACTIVE'
ORDER BY
    s.last_call_et DESC;

* v$session.last_call_et = 세션이 마지막으로 호출(실행)된 이후 경과한 시간 (초)

# 세션 상태 별 last_call_et 의미
* ACTIVE: 현재 실행 중인 SQL의 실행 시간 (초)
* INACTIVE SQL 실행이 끝난 후 대기 중인 시간 (초)

ex)
ACTIVE이고 last_call_et = 120: 현재 SQL이 2분 동안 실행 중
INACTIVE이고 last_call_et = 3600: SQL 실행 후 1시간 동안 아무것도 안 하고 있는 세션

반응형

'Dev > DataBase' 카테고리의 다른 글

MaxScale - Filter  (0) 2024.10.25
maxscale.cnf 설정 속성  (0) 2024.10.25
MariaDB my.cnf 설정 파일  (0) 2024.05.24
MHA vs MaxScale 장단점 비교  (0) 2024.05.06
MariaDB 간략한 정리  (0) 2024.01.18