리눅스에서 오라클 핸들링 OCI관련 내용입니다.
글쓴이: poiq1 / 작성시간: 화, 2011/11/01 - 4:08오후
안녕하세여^^ 리눅스 5.6 엔터프라이즈에서 작업중에 있습니다.
이번에 OCI라이브러리를 이용해서 해당 오라클 DB에 주기적으로 SELECT문을 날리는 프로그램을
제작했습니다.
10초 단위로 DB에 connection 한 후 SELECT문을 돈 후에 close하는 프로그램인데요..
이게 4~5시간 정도 경과시에 오류를 뱉어냅니다.
valgrind 툴을 이용해서 메모리 릭 체크를 하는데요..
invalid file descriptor 1019 in syscall open()
이런 문구의 오류 메시지가 출력이 댑니다.
이곳저곳을 확인해 본 결과. 오라클 섹션이 열려져 있는것이 확인이 됐습니다.
Command 는 SELECT 상태이고 Status 는 INACTIVE 상태로 정상적일 경우 이 섹션이 닫혀 있어야 하는데...
현제 섹션이 닫히지 않고 계속 살아 있는것입니다.
섹션이 살아있기 때문에 다음 사이클에서 오류가 발생하는거 같아 보이는데...
프로그램상 한 사이클 돌때 connection 를 프리 해주는데... 프리가 잘 안대는거 같습니다.
혹시 이에 관련되서 비슷한 현상이나 문제점을 알고 계신분이 있으신지요..?
Forums:
댓글 달기