티스토리 뷰

Database

[oracle] ORA-000031, 000054 오류 해결책

애플자라 2007. 8. 29. 23:58
반응형
[oracle] ORA-000031, 000054 오류 해결책 
ORA-00054 자원이 사용중이고 NOWAIT가 지정되어있습니다

란 오류를 만났을때..

TB에 락이 걸려있어 DML 혹은 DDL 사용시 저런 오류 메시지가 뜬다..

리모트 DB에서 insert 쿼리를 날렸는데 그 수행속도가 너무 느려 toad를 죽였다가 다시 살리니

아예 락이 걸려버린듯 하다 -_-;

DB를 restart 하는게 가장 좋은방법이지만 구글 형님과 네입훠 ~ 누님에게 물어보니 -_-;;

역시 해결책이 많더라..

1.  lock이 걸린 테이블이 DSD 라고 가정

SHELL> sqlplus system/manager

SQL> 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' c.object_name='DSD';

 

SID  SERIAL#
---  --------

131  33324

 

2. 아래의 명령으로 session을 kill 시킨다

SQL> alter system kill session '131,33324';

 

3. kill 을 시켰는데도 ora-000031 을 내며 프로세스가 죽지않는경우

SQL> select  spid  from  v$process

where addr = (select paddr from v$session where sid = '131');

하면 실제 Unix에서의 SID가 나온다.

 

4. Unix명령어를 이용하여 Kill

SHELL> kill  -9  발견된 SPID

ex) kill  -9  567

인터넷에서 찾은자료들을 발췌하여 조합한것이다 ~ㅅ~

http://bhstudio.egloos.com
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함