반응형
1. Lock 걸린 오브젝트 조회
SELECT OBJECT_ID
, SESSION_ID -- SID
, ORACLE_USERNAME
, OS_USER_NAME
FROM V$LOCKED_OBJECT;
2. 해당 SID, Serial# 번호로 Lock 걸린 테이블 조회
SELECT A.SID
, A.SERIAL#
, object_name
, A.SID || ', ' || A.SERIAL# AS KILL_TASK
FROM V$SESSION A
INNER JOIN V$LOCK B
ON A.SID = B.SID
INNER JOIN DBA_OBJECTS C
ON B.ID1 = C.OBJECT_ID
WHERE B.TYPE = 'TM' --Table object type;
3. Lock 발생시킨 사용자 및 Object, Query(구문) 조회
SELECT DISTINCT T1.SESSION_ID
, T2.SERIAL#
, T4.OBJECT_NAME
, T2.MACHINE
, T2.TERMINAL
, T2.PROGRAM
, T3.ADDRESS
, T3.PIECE
, T3.SQL_TEXT
FROM V$LOCKED_OBJECT T1
, V$SESSION T2
, V$SQLTEXT T3
, DBA_OBJECTS T4
WHERE 1=1
AND T1.SESSION_ID = T2.SID
AND T1.OBJECT_ID = T4.OBJECT_ID
AND T2.SQL_ADDRESS = T3.ADDRESS
ORDER BY T3.ADDRESS, T3.PIECE;
4. SID, Serial# 번호로 Session Kill 을 통해 Lock 해제
ALTER SYSTEM KILL SESSION '[sid], [serial#]';
-- ex
ALTER SYSTEM KILL SESSION '401, 12761';
*** Kill Session 명령어는 별도 COMMIT 명령이 필요 없음 ***
반응형
'[DB] ORACLE' 카테고리의 다른 글
[ORACLE] Oracle Database Backup Basic - 백업 개념2 (3) | 2023.11.08 |
---|---|
[ORACLE] Oracle Database Backup Basic - 백업 개념 (0) | 2023.11.08 |
[ORACLE] Toad For Oracle 단축키 모음 (0) | 2023.09.01 |
[ORACLE] 아카이브(Archive) 발생량 확인하기 (0) | 2023.06.26 |
[ORACLE] ASM 영역에서 TABLESPACE 관리 (1) | 2023.06.08 |