반응형
오라클 세션 확인 및 세션 킬(kill)
오라클에서 세션을 확인하고, 락(lock)이 걸린 테이블을 확인하는 쿼리입니다.
세션 확인하기
SELECT
SID
,SERIAL#
,USERNAME
,PROGRAM
FROM
V$SESSION
DB에서 작업하다보면 테이블에 Lock 이 걸리는 경우가 빈번히 발생합니다. 아래는 어떠한 경우에 테이블에 Lock 이 걸렸는지 확인하는 쿼리입니다.
테이블에 Lock 확인
SELECT
V$SESSION.SID
,V$SESSION.SERIAL#
,V$SESSION.USERNAME
,DBA_OBJECTS.OBJECT_NAME
,V$SESSION.SADDR
,V$SESSION.OSUSER
,V$SESSION.PROGRAM
FROM V$LOCKED_OBJECT
LEFT JOIN DBA_OBJECTS
ON V$LOCKED_OBJECT.OBJECT_ID = DBA_OBJECTS.OBJECT_ID
LEFT JOIN V$SESSION
ON V$LOCKED_OBJECT.SESSION_ID = V$SESSION.SID
ORDER BY
V$SESSION.SID,
DBA_OBJECTS.OBJECT_NAME
마지막은 세션을 kill 하는 쿼리입니다. 세션을 강제로 끊어버리기 위해서는 SID (세션 아이디) 와 SERIAL# (시리얼번호) 가 필요합니다.
ALTER SYSTEM KILL SESSION 'SID, SERIAL#';
반응형
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] Oracle expdp 중 ORA-01555 에러 해결방법 (0) | 2020.06.04 |
---|---|
[Oracle] Mybatis (select, insert, update, delete 문) 예제 (0) | 2020.05.20 |
[Oracle] 여러 행을 SELECT 하여 INSERT하기 (0) | 2020.04.09 |
[Oracle] SQL 튜닝_4. SQL TRACE (0) | 2019.12.07 |
[Oracle] SQL 튜닝_3. 성능 모니터링 (0) | 2019.11.30 |
최근댓글