ORA-03113: fin de archivo en el canal de comunicación después de una larga inactividad en la aplicación ASP.Net
Tengo una aplicación ASP.Net 2.0 de carga equilibrada (sin estado de sesión) en IIS5 que se ejecuta en un solo servidor Oracle 10g, usando la versión 10.1.0.301 de los controladores ODAC / ODP.Net. Después de un largo período de inactividad (unas pocas horas), la aplicación, aparentemente al azar, arrojará una excepción de Oracle:
Exception: ORA-03113: fin de archivo en el canal de comunicación en Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx * pOpoSqlValCtx, Object s.c.Ac. Client.OracleCommand.ExecuteReader (solicitud booleana, solicitud de relleno booleana, comportamiento de CommandBehavior) en Oracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader ()
... La porción de Oracle de la pila termina aquí ...
Estamos creando nuevas conexiones en cada solicitud, tenemos el abrir y cerrar envuelto en un intento / captura / finalmente para asegurar el cierre de la conexión adecuada, y todo está envuelto en un bloque de uso (OracleConnection yadayada) {...}. Este problema no aparece vinculado al reinicio de la aplicación ASP.Net después de ser desactivado por inactividad.
Todavía tenemos que reproducir el problema nosotros mismos. ¿Pensamientos, oraciones, ayuda?
Más Comprobado con TI, el firewall no está configurado para eliminar conexiones entre esos servidores.