title: ORA-03113: end-of-file on communication channel after long inactivity in ASP.Net app
body: <p>I've got a load-balanced (not using Session state) ASP.Net 2.0 app on IIS5 running back to a single Oracle 10g server, using version 10.1.0.301 of the ODAC/ODP.Net drivers.  After a long period of inactivity (a few hours), the application, seemingly randomly, will throw an Oracle exception:</p>
  <blockquote>
  <p>Exception: ORA-03113: end-of-file on communication channel    at
  Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32
  errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx*
  pOpoSqlValCtx, Object src, String procedure)    at
  Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery,
  Boolean fillRequest, CommandBehavior behavior)    at
  Oracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader()</p>
  <p>...Oracle portion of the stack ends here...</p>
  </blockquote>
  <p>We are creating new connections on every request, have the open &amp; close wrapped in a try/catch/finally to ensure proper connection closure, and the whole thing is wrapped in a using (OracleConnection yadayada) {...} block.  This problem does not appear linked to the restart of the ASP.Net application after being spun down for inactivity.</p>
  <p>We have yet to reproduce the problem ourselves.  Thoughts, prayers, help?</p>
  <hr />
  <p><strong>More:</strong> Checked with IT, the firewall isn't set to kill connections between those servers.</p>