DB CONNECTION 강제 CLOSE
- 작성자 :
- 박*선
- 작성일 :
- 2021-10-20 10:26:51
- 조회수 :
- 3,870
- 구분 :
- 공통컴포넌트 / 3.5
- 진행상태 :
- 완료
Q
현재 두개의 DB를 연결해서 사용하고 있는데
메인: main_db
참조: sub_db
연결 예제
간략설명: main_db 열고 sub_db열고 조회수 sub_db닫고 main_db 닫고 (정상)
[0002][08:41:10 394][1,963][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> main_db DB 연결
[0004][08:41:10 397][ 3][ 6] DB_COMMIT
[0005][08:41:10 398][ 1][ 7] DB_CLOSE_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] - > -main_db DB 닫음
[0006][08:41:12 871][2,473][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> -main_db DB 연결
[0008][08:41:13 014][ 122][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/sub_db) [0 ms] -> 참조 db 연결
[0010][08:41:13 068][ 45][ 40] FETCH [1/1]
[0011][08:41:13 069][ 1][ 40] SQL-EXECUTE [17 ms]
{ CALL TEST.TYPE_GBN(?,?,?,?) } -> 프로시져 검색
param2:[1=41241414]
[0017][08:41:13 105][ 5][ 43] FETCH [0/3]
[0018][08:41:24 419][11,314][ 79] DB_CLOSE_CONNECTION (java:comp/env/jdbc/sub_db) [0 ms] main_db DB 닫음
[0019][08:41:24 420][ 1][ 79] DB_COMMIT
[0020][08:41:24 423][ 3][ 79] DB_CLOSE_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> 마지막에 main DB close 처리 되고 있음
위에가 정사적일때의 연결
하지만 간혹 조회시 데이터가 많아서 지연되다 끊기는 경우가 생깁니다. 간혹이긴 하지만 그럴때는
커넥션이 main_db 열고 sub_db열고 조회수 sub_db닫고 이단계로 끝나더라구요 main_db 도 한번 더 닫아 줘야하는데 닫질못해 여러개 쌓이다 결국 서버장애로 죽는경우가 있는데
혹시 이경우 강제로 close_connection 해주는 방법이 없을까요?
어느 파일에서 db open 과 db close를 해주는지를 찾지를 못하겠네요
메인: main_db
참조: sub_db
연결 예제
간략설명: main_db 열고 sub_db열고 조회수 sub_db닫고 main_db 닫고 (정상)
[0002][08:41:10 394][1,963][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> main_db DB 연결
[0004][08:41:10 397][ 3][ 6] DB_COMMIT
[0005][08:41:10 398][ 1][ 7] DB_CLOSE_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] - > -main_db DB 닫음
[0006][08:41:12 871][2,473][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> -main_db DB 연결
[0008][08:41:13 014][ 122][ ] DB_OPEN_CONNECTION (java:comp/env/jdbc/sub_db) [0 ms] -> 참조 db 연결
[0010][08:41:13 068][ 45][ 40] FETCH [1/1]
[0011][08:41:13 069][ 1][ 40] SQL-EXECUTE [17 ms]
{ CALL TEST.TYPE_GBN(?,?,?,?) } -> 프로시져 검색
param2:[1=41241414]
[0017][08:41:13 105][ 5][ 43] FETCH [0/3]
[0018][08:41:24 419][11,314][ 79] DB_CLOSE_CONNECTION (java:comp/env/jdbc/sub_db) [0 ms] main_db DB 닫음
[0019][08:41:24 420][ 1][ 79] DB_COMMIT
[0020][08:41:24 423][ 3][ 79] DB_CLOSE_CONNECTION (java:comp/env/jdbc/main_db) [0 ms] -> 마지막에 main DB close 처리 되고 있음
위에가 정사적일때의 연결
하지만 간혹 조회시 데이터가 많아서 지연되다 끊기는 경우가 생깁니다. 간혹이긴 하지만 그럴때는
커넥션이 main_db 열고 sub_db열고 조회수 sub_db닫고 이단계로 끝나더라구요 main_db 도 한번 더 닫아 줘야하는데 닫질못해 여러개 쌓이다 결국 서버장애로 죽는경우가 있는데
혹시 이경우 강제로 close_connection 해주는 방법이 없을까요?
어느 파일에서 db open 과 db close를 해주는지를 찾지를 못하겠네요
환경정보
-
- OS 정보 : 리눅스
- 표준프레임워크 버전 : 3.8
- JDK(JRE) 정보 : 1.8
- WAS 정보 : 톰캣
- DB 정보 : MYSQL , ORACLE
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터 입니다.
문의하신 내용을 보니
자체적인 환경에 최적화된 코드를 구현하신것으로 보여져서
가이드 해드리기 어려울듯 합니다.
DB 작업후 close처리등이 수동으로 이루어져서
예외가 발생시 처리가 누락되는 것으로 이해가 되며
이경우 일일히 케이스를 찾아야 할것으로 보입니다.
해당 작업이 배치작업의 성격이면
실행환경의 배치처리를 적용하여
리뉴얼을 고려 해보실수 있을듯 합니다.
이경우 다음 실행환경 가이드에서
"배치처리"부분을 참조 하실수 있습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3.10
감사합니다.
표준프레임워크센터 입니다.
문의하신 내용을 보니
자체적인 환경에 최적화된 코드를 구현하신것으로 보여져서
가이드 해드리기 어려울듯 합니다.
DB 작업후 close처리등이 수동으로 이루어져서
예외가 발생시 처리가 누락되는 것으로 이해가 되며
이경우 일일히 케이스를 찾아야 할것으로 보입니다.
해당 작업이 배치작업의 성격이면
실행환경의 배치처리를 적용하여
리뉴얼을 고려 해보실수 있을듯 합니다.
이경우 다음 실행환경 가이드에서
"배치처리"부분을 참조 하실수 있습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3.10
감사합니다.