DBMS/Oracle
[Oracle] 오라클 세션 확인 및 세션 킬(kill) 하는 방법
미피뿌
2020. 5. 11. 22:37
반응형
오라클 세션 확인 및 세션 킬(kill)
오라클에서 세션을 확인하고, 락(lock)이 걸린 테이블을 확인하는 쿼리입니다.
세션 확인하기
SELECT
SID
,SERIAL#
,USERNAME
,PROGRAM
FROM
V$SESSION
DB에서 작업하다보면 테이블에 Lock 이 걸리는 경우가 빈번히 발생합니다. 아래는 어떠한 경우에 테이블에 Lock 이 걸렸는지 확인하는 쿼리입니다.
테이블에 Lock 확인
SELECT
V$SESSION.SID
,V$SESSION.SERIAL#
,V$SESSION.USERNAME
,DBA_OBJECTS.OBJECT_NAME
,V$SESSION.SADDR
,V$SESSION.OSUSER
,V$SESSION.PROGRAM
FROM V$LOCKED_OBJECT
LEFT JOIN DBA_OBJECTS
ON V$LOCKED_OBJECT.OBJECT_ID = DBA_OBJECTS.OBJECT_ID
LEFT JOIN V$SESSION
ON V$LOCKED_OBJECT.SESSION_ID = V$SESSION.SID
ORDER BY
V$SESSION.SID,
DBA_OBJECTS.OBJECT_NAME
마지막은 세션을 kill 하는 쿼리입니다. 세션을 강제로 끊어버리기 위해서는 SID (세션 아이디) 와 SERIAL# (시리얼번호) 가 필요합니다.
ALTER SYSTEM KILL SESSION 'SID, SERIAL#';
반응형