728x90
DB 를 운영하다보면 LOCK 이 걸리거나 ,, INACTIVE 에서 세션이 종료되지 않아
process count max 를 찍어 DB 접속이 안될때가 있다..
필자가 OS , DB 에서 각각 날리는 명령어 , 쿼리를 공유 하고자 한다
1. OS 에서 session kill 할 때 ( Linux )
LOCAL=NO 를 죽여도 되고 LOCAL=YES 를 죽여도 된다.. 본인의 환경에 따라 수정하여 사용하기 바랍니다
kill -9 `ps -ef | grep $USER | grep oracle |grep 'LOCAL=NO' | awk '{print $2}'`
2. DB (sqlplus , 각종 DB 툴) 에서 session kill 할 때
회색 처리되어 주석처럼 보이긴 하지만.. 다 적어주어야 한다
맨 밑줄 AND STATUS 는 상황에 따라 넣어도 되고 안넣어도 된다.
여기까지 찾아 오신 분들이라면 상황에 맞게 수정 하실 줄 알것이다....
죽이면 안되는 세션이 있는것도 아실거라 믿는다.
※WHERE 절 수정해서 사용하기※
SELECT 'alter system kill session ''' || SID || ',' || SERIAL# || ''' immediate ;'
FROM v$session
WHERE USERNAME = '유저네임' AND STATUS = 'INACTIVE';
아무튼 저 쿼리를 날리면 조건에 맞는 session들이
alter system kill session 'SID,SERIAL#' immediate ;
이런 형식으로 나온다.
dba 권한 가진 계정으로 날려주면 된다.
728x90
'IT > ORACLE' 카테고리의 다른 글
[Oracle] DB Import (impdp) (2) | 2023.03.20 |
---|---|
[Oracle] DB Export (0) | 2023.03.10 |