-
오라클 DB 세션 KILL 하기Web Programming 2023. 7. 14. 21:33728x90반응형
DBMS 를 사용하다보면 쿼리 실행이 안먹히거나 할때가 있다.
그럴때는 세션이 계속 남아서 그럴수가 있음.. 어렵다 정말 ㅠㅠ
아무튼 이 세션을 KILL 해서 삭제해줘야 한다.
아래 쿼리 실행 !! 반드시 시스템계정으로 해야함. 권한 문제로 실행이 안될 수 있음.
SELECT 'ALTER SYSTEM KILL SESSION (' || SESS_ID || ', ' || SERIAL# || ');' from v$transaction A LEFT JOIN V$SESSION B ON A.SESS_ID = B.SID ORDER BY SESS_ID ASC;
쿼리 날린 후 조회했더니.. 엄청 많이 쌓여 있다..
전체 복사해서 그대로 전체 실행해주면 KILL 이 된다.
그럼 정상적으로 쿼리가 DBMS 상에서 잘 먹힌다. !!
오라클 세션이란 ??
사용자와 데이터베이스 접속이 이루어지면 세션을 생성.
세션은 사용자가 데이터베이스에 연결되어 있는 동안 계속 유지되고, 각 세션에는 SID(Sesiion ID)와 시리얼번호(Serial#)가 부여된다.
SID와 시리얼번호가 두개 존재하는 이유는 세션이 종료되었으나 다른 세션이 동일한 SID를 갖고 시작되었을 때 세션 명령들이 정확한 세션에 적용될 수 있도록 하기위해서이다.
세션이 사용자에 의해 작업중이라면 Active상태가되고 작업을 하게 되는데
Inactive 세션은 연결은 되어 있지만 작업을 하지 않는 상태입니다.
즉, 자원은 할당되어 있지만 사용하지 않는 세션이라면 불 필요한 자원낭비가 될 수도 있습니다.
그래서 KILL 해줘야함..!!
정말 알아갈수록 끝이 없다.. ㅋㅋ;;
728x90반응형'Web Programming' 카테고리의 다른 글
오라클 CASE WEHN 간단 예시 (0) 2023.07.21 자바 공휴일 API 연동 (0) 2023.07.21 오라클 컬럼 추가 삭제 (0) 2023.07.11 오라클 컬럼명 수정 (0) 2023.07.11 오라클 테이블과 데이터 복사하기 (0) 2023.07.07