서브 스토리/자료실

Table Lock 걸렸을 때 처리하는 법.. (ORA-00054)

픽시 2008. 11. 24. 09:55


ORA-00054 발생했을때 처리하는 방법..

여러가지 문제가 있을수 있지만..
Commit을 안했다던지..
무슨 작업중이라던지..
이유는 다양합니다..

Truncate같은 명령은..
ORA-00054라는 에러라도 출력하지만..
DML(Delete) 문장 실행시 그냥 멈쳐버립니다.. ㅡㅡ;;

오라클 재시작!!
하면 간단하게 처리됩니다.. ^^;;

하지만 DB 특성상 재시작 할 수 없는 경우가 많죠~~
그때는 Lock걸린 세션을 찾아서..
Kill 해주면 됩니다..

다음 명령어로 검색..

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='TABLE_NAME';

     SID    SERIAL#
------- ----------
    2715       40427

Kill은 이렇게..

alter system kill session '2715,40427';

- 출처 : 네이버 블로그(blog.naver.com/xacti) -