본문 바로가기
GIS 개발/Oracle

ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다. 해결방법

by 한여름밤의코딩 2017. 12. 11.

ORA-00054:

자원이 사용중이고, NOWAIT가 지정되어 있습니다.

해결방법

 

 

[ 첫번째 경우 ]

 

테이블에 INSERT나, 다른 DDL, DML 작업을 했을 경우, 아무 반응도 없거나,

ORA-00054 메시지가 출력된다면, 그 테이블에 LOCK이 걸렸을 경우를 의심해 봐야한다.

 

 

  

1. 우선, LOCK걸린 OBJECT를 찾는다.

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='테이블명';

 

 

그러면 SID랑 SERIAL# 가 출력되는데,

이 LOCK 걸린 OBJECT를 삭제하면 된다.

 

 

ALTER SYSTEM KILL SESSION 'SID, SERIAL'

 

이제 테이블이 사용가능할 것이다.

 

 

 

  

[ 2번째 경우 ]

 

테이블에 DML을 수행하고 나서 commit이나, Rollback을 하지 않아서 DBMS가

대기상태인 경우이다.

이 메시지가 계속 출력될 경우, commit이나 Rollback을 실행시켜주자.


출처 : http://blog.naver.com/PostView.nhn?blogId=ac7979&logNo=140127004917