세션 킬 이후 상태값 killed 유지 0 3 4,201

by 생각 [DB 기타] [2017.12.18 16:41:35]


안녕하세요. 항상 좋은 정보 얻어가고 있습니다!

세션 스케줄러 이후에 또 하나의 문제가 발생했는데, 사실 오라클 문제라기 보다 미들웨어(.exe) 문제로 보입니다.

스케줄러를 통해 alter system kill 로 해당 sid와 serial을 킬 완료 후 상태(Status)가 killed로 변하는데,

오라클 Process Monitor(PMON)에서 어느정도 시간이 지나면 자동적으로 없어지는것으로 알고 있습니다.

하지만 미들웨어가 실행되어 있는 동안에는 KILLED 상태가 계속 유지되어 프로세스가 계속 쌓이게 되어, 결국 디비 프로세스 LIMIT에 걸려 오류가 발생합니다.

미들웨어는 델파이로 개발되었다는데 소스가 없습니다.(휴...)

아마도 오라클에서 세션 킬을 날려도 미들웨어에서 물고 있어서 KILLED 상태가 계속 유지되는 것 같습니다.

어떠한 방법이 없을까요?

가장 간단한것은 미들웨어를 작업관리자에서 껐다 키는것인데 그건......아니라고 봅니다.

고견 부탁드립니다.

by 우리집아찌 [2017.12.18 16:50:13]

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE 

 


by 생각 [2017.12.18 18:04:04]

네 해당 SQL로 프로시저 생성하여 정상적으로 동작중입니다.

문제는 gv$session SELECT 해보면 status가 KILLED된 프로세스들이 없어지지 않고 계속 유지되고 있어서요...


by 임상준 [2017.12.18 22:49:58]

DB 서버가 윈도우 계열이 아니고, Dedicated 모드가 아니라면 - 수정합니다, Dedicated 모드라면 -  process id 잡을 수 있으니 kill -9 spid 로 OS 에서 죽이시면 되지 않을까 싶습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입