Oracle Kill Session. 오라클 세션 강제 종료하는 방법

V$SESSION, V$LOCKED_OBJECT

락으로 인하여 세션을 강제로 종료하는 경우가 발생할 수 있습니다.

현재 세션 정보와 락 오브젝트를 확인할 수 있는 뷰입니다.

세션 확인

SELECT * FROM V$SESSION;

락 오브젝트 확인

SELECT * FROM V$LOCKED_OBJECT;

락 오브젝트 기준 확인(라이트 아우터 조인)

SELECT *
  FROM    V$SESSION
       RIGHT JOIN
          V$LOCKED_OBJECT
       ON V$LOCKED_OBJECT.SESSION_ID = V$SESSION.SID;

KILL SESSION

Kill Session syntax : 구문

ALTER SYSTEM KILL SESSION 'SID, SERIAL#' [IMMEDIATE]

immediate는 즉시 종료하라는 명령을 마킹하는 기능입니다.

SID와 SERIAL# 은 V$SESSION 뷰에서 확인할 수 있습니다.

오라클 세션 강제 종료

ALTER SYSTEM KILL SESSION 'SID, SERIAL#' IMMEDIATE;

Kill Session 예시

(세션아이디 1, 시리얼 1을 강제 종료)

ALTER SYSTEM KILL SESSION '1,1' IMMEDIATE;

KILL ALL SESSION

모든 세션 강제 종료 구문을 추출해봅니다.

SELECT    'ALTER SYSTEM KILL SESSION ''' || SID || ',' || SERIAL# || ''' IMMEDIATE;'
  FROM V$SESSION;

DISCONNECT SESSION

Kill Session과 비슷한 기능입니다.

해당 명령은 Dedicated Server Process를 강제 종료하며 POST_TRANSACTION, IMMEDIATE 키워드 둘 중 하나를 선택합니다. (커밋하고 디스커넥트 할 건지, 즉시 롤백하고 디스커넥트 할 건지 선택)

ALTER SYSTEM DISCONNECT SESSION 'SID, #SERIAL' POST_TRANSACTION;

ALTER SYSTEM DISCONNECT SESSION 'SID, #SERIAL' IMMEDIATE;
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗