본문 바로가기
DB/ORACLE

테이블 락 해결법

by 골든크랩 2022. 10. 26.
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';

출처: https://boya.tistory.com/257 [Dev. Boya:티스토리]

728x90
반응형

댓글