티스토리 뷰

외래키 설정 도중

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired.

라는 오류가 발생 되었다.

 

오류를 보니 해당 테이블이 자원을 사용 중이라는 것이다.

그래서 문제점을 찾아보았고, UPDATE를 하고 commit을 하지않고 테이블을 수정하려하니 문제가 생긴 것이였다.

그래서 commit하고 외래키 설정을 하니 오류가 발생되지 않고 적용이 되었다.

 

만약 해결이 되지 않는다면 아래 방법으로 해결한다.

select a.sid, a.serial#, a.status 
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='[테이블 명]';
alter system kill session '[SID], [SERIAL#]';

 

필자 테이블명 'REL_T2'

위 사진 처럼 사용 중인 것이 보이고 kill을 해주었다.

ALTER 하고 난뒤 모습이다.