ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오라클 DB 세션 KILL 하기
    Web Programming 2023. 7. 14. 21:33
    728x90
    반응형

    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
Designed by Tistory.