가끔, 아주 가끔 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 |