OPEN_CURSOR 삭제 문제.. 0 3 2,160

by 다말이야 [SQLServer] [2014.09.25 18:42:54]


안녕하세요

가끔 관리하는 page에서 아래와 같은 에러가 나옵니다.

ORA-01000 : Maximum open cursor error

물론 JDBC에서 close를 해주면 좋겠지만, 현대 자체펀션을 쓰고 있어 해당 기능이 없는상태입니다.

 

제가 궁금한 부분은..

로컬에서 tomcat을 올렸다가 내리면 v$open_cursor 여기 table의 커서들이

다 없어 집니다. 하지만 운영에서 apache 서버를 쓰고 있는데 apache를 올렸다 내리면

이상하게 그대로 남아있네요ㅜ (운영DB는 unix입니다)

혹시 unix db를 shutdown 하지않고 open_cursor를 죽인는 방법이 없을까요?!

by 아발란체 [2014.09.26 09:53:06]

- 많은 사람이 동시 접속 하는 프로그램인가요?

- JDBC를 이용하면 풀링을 하든 안하든 Close 처리를 해줘야 하는 것이 아닌가요?

- 오픈커서 상태가 무엇으로 되어 있나요?


by 다말이야 [2014.09.26 09:55:59]

유저는 대략 10~30 명정도 있는 시스템이라 언제든 shutdown이 가능하며~

JDBC이용 close 는 jar 라이브러리를 사용하는 펀션을 쓰고있어 장기적으로 해결중입니다.

임시적으로 시스템을 shutdown시켜서 open_cursor의 삭제 효과를 볼수있는지 궁금합니다 ㅜ

커서의 상태는 inactive상태 입니다.

 


by 아발란체 [2014.09.26 10:22:38]

DB를 시스템이 계속 커서를 물고 있다면 Shutdown으로 효과가 있습니다.

하지만 시스템이 커서를 계속 물고 있는 상황이 있으면 안됩니다.

물고 있는 잘못된 상황을 서버 리붓으로 해결하는 것은 정상적인 방법이 아닙니다.

전용 서버 구조 방식에서 풀링을 이용하든 하지 않든 세션은 붙어 있어도 계속 커서를 잡고 있으면 실행될 때마다 커서가 증가하여 커서 크기를 조정해줘도 결국 오류가 발생합니다.

 JAR LIB를 사용하고 있는 소스 구문을 올려주실 수 있나요?

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