반응형

오라클 세션 확인 및 세션 킬(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#';

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기