IT/DATABASE

오라클 테이블 락, 테이블 락 조회, 테이블 락 해제

김보야 2020. 6. 18. 10:53

 

 

--테이블 락

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