웹개발/Database
[Oracle] 툴로 DB Lock 해제하기
kmhan
2021. 8. 31. 16:06
728x90
반응형
상황설명 : 기본키 추가하려고 하다가 'ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired Position: 12' 문구가 떠서 원인이 DB Lock 이었다는 것을 알게되었다.
해결방법
1. TM(TABLE LOCK) 조회하기
SELECT B.TYPE
, C.OBJECT_NAME
, A.SID -- SESSION ID를 의미함
, A.SERIAL# -- SERIAL 넘버
FROM V$SESSION A
, V$LOCK B
, DBA_OBJECTS C
WHERE A.SID=B.SID
AND B.ID1=C.OBJECT_ID
AND B.TYPE='TM' ;
2. TABLE으로 조회하기
SELECT A.SID
, A.SERIAL#
FROM V$SESSION A
,V$LOCK B
,DBA_OBJECTS C
WHERE A.SID=B.SID
AND B.ID1=C.OBJECT_ID
AND B.TYPE='TM'
AND C.OBJECT_NAME='테이블명' ;
3. 세션 죽이기
ex) SID = 1, SERIAL_NO = 1000
->ALTER SYSTEM KILL SESSION '1, 1000';
출처: https://jjomin.tistory.com/17 [whatEver]
728x90
반응형