ORA-02396: exceeded maximum idle time, please connect again
119014Jul 25 2003 — edited Dec 30 2004I feel like I might have read about this before, but I can't find a reference now.
We are using ODP.NET in out ASP.NET web site. Our DBAs mandated that we have a seperate oracle account for each web user "because it was good database policy." Recently, they decided to apply max idle timeouts to all of those users.
Now I'm having the following problem. When a user logs in initially, everything is fine. They log into the web site, use it, and go away happy. Now, the same user comes back later (after the max idle timeout) and tries to log in again. During that time, the web server ODP.NET has held onto that connection in the connection pool but the connection has been idle. The Oracle server has decided that the connection should be disconnected because it was idle too long. The user gets this error message "ORA-02396: exceeded maximum idle time, please connect again". If the user tries to log in again they recieve this message "ORA-01012: not logged on"
Two things appear to be happening. One, ODP.NET is holding on to the connections longer than the max idle timeout. How long does or should ODP.NET normally hold onto an idle connection in the connection pool? How can I adjust this? Two, ODP.NET is not removing the closed connection from the pool.
How can I overcome this problem?
Thanks.