The IS is 6.1. The JDBC Adapter is connected to an Oracle database with the following property settings: Minimum Pool Size = 5, Maximum Pool Size = 20, Pool Increment Size = 5. The Oracle database has “maximum idle time” set to 12 hours.
During periods of low activity, one or more of the 5 connections in the pool will get automatically logged off on the Oracle side. We then get the following errors when the integrations attempt to make JDBC Adapter Service calls (ex. Select statement):
2005-10-03 00:41:12 GMT [ART.0116.3001E] Adapter Runtime (Notification): Notification error … (61000/2396) ORA-02396: exceeded maximum idle time, please connect again.
It appears that the JDBC Adapter Pool Manager does not gracefully handle connections that may have been logged off on the Oracle side. It still attempts to use these “stale” connections. Is this normal or is it a bug? Are there configuration properties that can be set to get around this?
“During periods of low activity, one or more of the 5 connections in the pool will get automatically logged off on the Oracle side. We then get the following errors…”
As Randy pointed out, the trick to avoiding stale connections is to set the minimum pool size to 0. There is usually no need for keeping connections open during idle times.