ora-00054
- resource budy and acquire with NOWAIT specified
Table이 Lock 걸린 경우, 사용자가 거기에다가 DML, DDL 등을 실행하려 하면 나타나는 에러이다.
그렇다면 Table Lock이 왜 걸리느냐... 여러 이유가 있겠지만, 한참동안 커밋을 해주지 않았더니, Lock에 걸렸다.
commit한 후 다시 DML을 시도하니 잘되더라는..
commit을 할 수 없거나, 해서는 안될 경우!
제일 빠른 방법은 오라클 인스턴스를 재시작하는 것이지만,, 그것조차 허락되지 않는 상황일 경우 아래와 같이 lock 걸린 세션을 찾아 죽여준다-_-ㅋ
select a.sid, a.serial# |
위의 table_name에 lock 이 걸린 table 명을 적어주고 쿼리를 실행시키면 대략 다음과 같은 결과가 나타난다.
--------------------
SID | SERIAL#
--------------------
123 | 456
위 세션을 kill 시켜주면 상황 종료~!
> alter system kill session '123,456'; -- SID와 Serial#를 쉼표로 붙여서 써준다. |
[참조] - http://blog.naver.com/infinite23?Redirect=Log&logNo=80057478428
'Carpe Programming > oracle' 카테고리의 다른 글
[oracle] 필드명으로 테이블 조회(user table) (0) | 2013.10.15 |
---|---|
[MySQL] ASP + MySQL Connection (0) | 2013.06.14 |
[oracle] 오라클 원격연결이 안될때 Error: ORA-12535 / TNS-12535 (0) | 2013.01.23 |
오라클 소수점 0. 붙이기 (0) | 2012.11.09 |
[oracle] ora-28000 계정이 잠금되었습니다. (0) | 2012.10.27 |