Database
오라클 - 락 거린 세션 및 테이블 조회 후 죽이기.
고.니
2019. 7. 11. 23:03
반응형
Lock 걸린 Session 찾기 Query
SELECT DISTINCT
X.SESSION_ID 세션아이디,
A.SERIAL# 시리얼,
D.OBJECT_NAME 객체명,
A.MACHINE 접속장비,
A.TERMINAL 접속터미널,
A.PROGRAM 접속프로그램,
B.ADDRESS,
B.PIECE,
TO_CHAR(a.logon_Time,'YYYY-MM-DD HH24:MI:SS') AS 접속시간,
B.SQL_TEXT 실행중인쿼리
FROM V$LOCKED_OBJECT X, V$SESSION A, V$SQLTEXT B, DBA_OBJECTS D
WHERE X.SESSION_ID = A.SID AND
X.OBJECT_ID = D.OBJECT_ID AND A.SQL_ADDRESS = B.ADDRESS
ORDER BY X.SESSION_ID, B.ADDRESS, B.PIECE;
Lock 걸린 Object 찾기 Query
/* 락 걸린 객체 찾기 쿼리 */
select *
from v$locked_object
where oracle_username = 'DB사용자명';
위에서 찾은 객체 상세 조회하기 Query
SELECT *
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_ID='132040';
해당 세션 죽이기
alter system kill session 'SID, SERIAL#';
commit ;
반응형