출처: http://november11tech.tistory.com/88 [Mr.november11] 오라클 락(lock) :: 사월은 봄이다.

가끔, 아주 가끔 Lock이 걸린다.




근데 모르고 사용하면 뭐 안되는거지 ..






-- 락걸린 테이블 확인 


SELECT  DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER,


        VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE


FROM    V$LOCKED_OBJECT VO, DBA_OBJECTS DO


WHERE   VO.OBJECT_ID = DO.OBJECT_ID;






-- 해당 테이블에 LOCK 이 걸렸는지.


SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME


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 IN ('테이블 이름');






-- 락 세션 확인하기


  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 SERIAL#


===========


1     1234


3      9999






-- Session 죽이기


ALTER SYSTEM KILL SESSION 'SESSION_ID, SERIAL#';


-> ALTER SYSTEM KILL SESSION '1,1234';

'개발 > DB(Oracle, MySQL)' 카테고리의 다른 글

MySQL에서 to_char를 사용할 수 없다. DATE_FORMAT를 쓴다.  (0) 2018.02.11
druid datasource  (0) 2018.02.11
오라클] 날짜 시간  (0) 2018.02.11
오라클] 컬럼명 변경  (0) 2018.02.11
DB comment  (0) 2018.02.11

+ Recent posts