현재 NT기반에서 서버를 돌리고 있는데 오늘 처음으로 DB에서 이상한 현상을 겪었습니다.
제가 개발한 응용 서버 프로그램(CCI 사용)에서 응답없음 상태로 빠짐과 동시에 Cubrid 서비스도 정지가 되지 않았습니다.
상태를 보니 브로커에서 뭔가 잡고 있는 것 같은 느낌이 들어 cubrid broker DB명 stop 을 입력 하고는 Cubrid 서비스를 정상적으로 종료할 수 있었습니다.
문제는 이 것의 원인이 어떻게 발생하였냐는 것 인데요.
로그를 살펴봐도 그 해답을 찾을 수가 없어 명확히 원인을 제시하지 못하고 있습니다.
혹시나 싶어 서버 설정을 살펴보던 중 CCI_PCONNECT 설정의 기본값이 OFF라는 것을 확인하였고, 이를 ON으로 변경하였더니,
로그가 쌓이는 용량도 확실히 줄어들고 응용 서버 프로그램에서의 커넥션 비용이 줄어들어 훨씬 가벼워진 듯 한 느낌이 듭니다.
응용 서버 프로그램에서 DB로 Connection이 약 0.5 ~ 1초 간격으로 1번씩 일어납니다. 최대 5번까지도 일어날 수 있는데요.
이 때 커넥션 풀링을 세팅하지 않았을 때 제가 겪은 증상이 나타날 수 있는 여지가 있을지 궁금합니다.
만약 이것과 큰 상관관계가 없다면 어떤 부분을 점검 해봐야 할까요?
사실 쿼리나 서버의 로직은 크게 복잡할 것이 없습니다.
DB가 거의 임시 공간 용도로 사용되기 때문입니다.
안녕하세요. 질문 감사드립니다.
알려주신 상황만으로는 원인을 유추하기가 어렵습니다.
CCI_PCONNECT를 기존처럼 OFF로 설정하신 후, 위와 같은 문제가 발생하였을 때, 다음 사항을 체크하여 알려주시면 감사하겠습니다.
- CUBRID의 버전
- OLEDB 혹은 ODBC Driver중 어떤 것을 사용하시는지요?
- cubrid broker status -f
- cubrid lockdb DB명
- SQL LOG