티스토리 뷰

728x90

테이블 락

LOCK TABLE 테이블명 IN EXCLUSIVE MODE;

락이 걸린 테이블 확인

select *
from v$locked_object
where oracle_username = '사용자명'; 

 

락이 걸려있는 테이블 갯수 확인

select count(*)
from v$locked_object vo , dba_objects do 
where vo.object_id = do.object_id;

 

락 걸린 세션 확인

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

 

락이 걸린 테이블명을 알고 있는 경우

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) 해제

alter system kill session '위에서 확인 된 sid, serial#';

ex) alter system kill session '592, 2913';