[티베로 / Tibero] Lock 걸린 테이블 조회 및 푸는 방법

2023. 11. 29. 20:27데이터베이스

728x90
반응형

lock이 걸린 테이블에 대해서 찾다보면 티베로의 경우 컬럼 명이 달라서 흔히 검색되는 oracle lock 걸린 테이블 조회가 먹히지 않는다

 

그래서 티베로에서 먹히는 조회 방법 및 푸는 방법에 대해서 적어 놓는다.

단순 기록용이라 따로 용어 설명은 없다.

SELECT  DO.OBJECT_NAME
      , DO.OWNER
      , DO.OBJECT_TYPE
      , VO.SESS_ID
      , VO.LOCKED_MODE
   FROM V$LOCKED_OBJECT VO
      , DBA_OBJECTS DO
  WHERE VO.OBJECT_ID = DO.OBJECT_ID;

 

select
     distinct vo.sess_id
    ,vss.serial#
    ,dbao.object_name
    ,vss.machine
    ,vss.terminal
    ,vss.prog_name
    ,vsql.sql_text
from
     v$locked_object vo
    ,v$session vss
    ,v$sql vsql
    ,dba_objects dbao
where
        1=1
    and vo.sess_id   = vss.sid
    and vo.object_id    = dbao.object_id
    and vss.sql_id = vsql.sql_id
ORDER BY SESS_ID ASC
;

추가적으로 sql 문까지 알려주는 구문 

위에서 알아낸 테이블명을 이용해서 아래와 같이 검색 

SELECT A.SID, A.SERIAL#, C.OBJECT_NAME
  FROM V$SESSION A
     , V$LOCK B
     , DBA_OBJECTS C
 WHERE A.SID         = B.SESS_ID
   AND B.ID1         = C.OBJECT_ID
   AND B.TYPE        = 'WLOCK_DML'
   AND C.OBJECT_NAME = '테이블명';

 

Lock 걸린 테이블 삭제 방법

alter system kill session(sess_id, serial_no);
728x90
반응형