Database
[Tibero] Caused by: java.sql.SQLException: JDBC-12003:Unable to open a session.
헤르메스의날개
2024. 5. 30. 09:51
728x90
티베로 사용 중 아래의 오류가 발생했습니다.
Caused by: java.sql.SQLException: JDBC-12003:Unable to open a session.
at com.tmax.tibero.jdbc.err.TbError.makeSQLException(Unknown Source)
at com.tmax.tibero.jdbc.err.TbError.newSQLException(Unknown Source)
at com.tmax.tibero.jdbc.msg.common.TbMsgError.readErrorStackInfo(Unknown Source)
at com.tmax.tibero.jdbc.msg.TbMsgEreply.deserialize(Unknown Source)
at com.tmax.tibero.jdbc.comm.TbStream.readMsg(Unknown Source)
at com.tmax.tibero.jdbc.comm.TbCommType4.logon(Unknown Source)
at com.tmax.tibero.jdbc.driver.TbConnection.openConnection(Unknown Source)
at com.tmax.tibero.jdbc.TbDriver.connectInternal(Unknown Source)
at com.tmax.tibero.jdbc.TbDriver.connect(Unknown Source)
SYSDBA 계정으로 확인해보면, 각 사용자가 몇 개의 Session 을 가지고 있는지 확인 할 수 있습니다.
SELECT OSUSER, MACHINE, COUNT(1)
FROM V$SESSION
WHERE USERNAME = [사용자계정]
GROUP BY OSUSER, MACHINE
;
예)
SELECT OSUSER, MACHINE, PROG_NAME, COUNT(1)
FROM V$SESSION
WHERE USERNAME = 'CSPIVUE'
GROUP BY OSUSER, MACHINE, PROG_NAME
;
PROG_NAME 을 보면 "JDBC Thin Client" 가 보여지는데..
이는 JDBC Connection 을 의미 합니다.
"JDBC Thin Client" 가 지나치게 많은 경우, Connection 이 close 되고 있지 않는 경우 입니다.
그렇지 않고, 일률적이라면 아마도 JDBC Connection Pool의 경우 입니다.
Conection Pool Size를 개발자의 경우 3개 정도록 줄이면 좋을 것 같습니다.
728x90