써먹는 웹개발
[Oracle] 툴로 DB Lock 해제하기 본문
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
반응형
'웹개발 > Database' 카테고리의 다른 글
[Mysql] Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar 원인 및 해결방법 (0) | 2021.12.13 |
---|---|
[mysql] 커버링 인덱스 (0) | 2021.11.17 |
[Oracle] ORA-08002 : sequence is not yet defined in this session 해결방법 (0) | 2021.08.30 |
[Oracle/Mysql] 컬럼명이 들어있는 테이블 정보(목록) 확인 (0) | 2021.08.29 |
[Oracle] DB 유저 생성 및 유저 권한 추가 (0) | 2021.07.29 |
Comments