Oracle의 특정 세션에 대한 IDLE_TIME reset 방법 0 4 11,276

by yeszeus [Oracle Admin] [2015.11.18 15:04:18]


profile에 IDLE_TIME = 5로 설정이 되어 있습니다.


어떤 application 서비스가 구동이 되면서 10개 Oracle Session을 확보 해 놓는데, IDLE_TIME=5분으로 설정이 되어 있어서밀미리 확보해놓은 10개 세션중 IDLE TIME이 300 (5분)이 지난 Session에 할당 되면 ORA-02396 에러가 뜨면서 서비스가 죽어버리네요.  (ORA-02396: exceeded maximum idle time, please connect again)

Profile 하나 더 만들어서 IDLE_TIME=unlimit 으로 설정하면 되는데, 회사 정책상 IDLE_TIME=unlimit으로는 불가능합니다.

 

따라서 IDLE_TIME = 5를 유지 하면서 특정 Sesson만 IDLE TIME을 주기적으로 reset 하는 방법이 있는지요? (IDLE TIMEOUT 방지를 위하여)

즉, SESSION IDLE_TIME이 300이 되기 전에 1분 단위로 IDLE TIME을 0으로 만드는 방법...... )

아니면 ptofile의  IDLE_TIME = 5를 유지 하면서 특정 Sesson의 IDLE TIME민 unlimit로 하는 방법이 있는지요 ???

by 임상준 [2015.11.18 15:22:57]

개별 세션에서 주기적으로 db 에 의미없는 쿼리 (ex select 1 from dual ;) 를 날리는 방법은 사용 불가능한가요?


by yeszeus [2015.11.18 15:30:16]

10개 세션은 서비스가 구동 되면서 확보해 놓는거라서요.....

세션 지정해서 Query를 날리는 방법이 있나요?


by 김병지 [2015.11.20 13:35:22]

해당 세션을 확보한 서비스 ( 어플리케이션 ) 단에서 위 상준님이 말씀 하신대로

일정 주기로 쿼리를 날리는게 방법일듯 합니다..

WAS 같은 경우 보통 Checkquery 라고 하더군요..;;


by 이재현 [2015.11.20 16:42:28]

상준님 말씀되로 와스 설정에 체크 하는 로직이 설정 가능합니다.  단 2분 한번정도 체크 하시면 될듯하군요

 

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