반응형
오라클에서 실행중인 쿼리를 확인하는 방법은
V$SESSION V$SQLAREA 테이블을 조회해주면 되는데
아래 쿼리를 복사 붙여넣기 해주면 된다
-- 현재 오라클 DB에서 사용중인 쿼리 조회
SELECT A.STATUS -- 상태
, A.USERNAME -- 접속 계정명
, A.SID -- SID
, A.SERIAL# -- 시리얼번호
, B.SQL_TEXT -- 실행중인 쿼리 내용
FROM V$SESSION A, V$SQLAREA B
WHERE A.SQL_HASH_VALUE = B.HASH_VALUE
AND A.SQL_ADDRESS = B.ADDRESS
조회 후 결과가 나오면
SID, SERIAL#, SQL_TEXT
세 곳만 확인해주면 되는데
SID - 쿼리를 수행하는 ID
SERIAL# - 시리얼번호
SQL_TEXT - ID가 현재 어느 쿼리를 수행하는지
여기서 실행중인 쿼리를 쭉 본 후에
강제로 중지시켜도 되겠다 싶으면
ALTER SYSTEM KILL SESSION 'SID값,SERIAL#값';
을 해 주면 해당 SID, SERIAL# 에 해당하는 값이
강제로 중지가 된다
강제 중지시에는
실행하던 쿼리가 모두 ROLLBACK 되고
해당 테이블에 걸려있던 LOCK이 해제되게 된다
마지막으로 예제에 사용한 쿼리는 아래와 같다
-- 현재 오라클 DB에서 사용중인 쿼리 조회
SELECT A.STATUS -- 상태
, A.USERNAME -- 접속 계정명
, A.SID -- SID
, A.SERIAL# -- 시리얼번호
, B.SQL_TEXT -- 실행중인 쿼리 내용
FROM V$SESSION A, V$SQLAREA B
WHERE A.SQL_HASH_VALUE = B.HASH_VALUE
AND A.SQL_ADDRESS = B.ADDRESS
ALTER SYSTEM KILL SESSION 'SID값,SERIAL#값';
ALTER SYSTEM KILL SESSION '221,41587';
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 모든 테이블 이름 검색방법 (0) | 2021.04.12 |
---|---|
오라클 테이블 이름 변경방법 (0) | 2021.04.12 |
오라클 인덱스 조회 생성 삭제 수정방법 정리 (0) | 2021.02.03 |
오라클 스키마별 전체 테이블 행(ROW) 갯수 확인방법 (0) | 2021.02.01 |
오라클 PL/SQL IF ELSE 문 사용방법 정리 (0) | 2020.12.16 |
댓글