ORA-03113: конец файла в канале связи после длительного простоя в приложении ASP.Net
У меня есть приложение ASP.Net 2.0 с балансировкой нагрузки (без использования состояния сеанса) на IIS5, работающее на одном сервере Oracle 10g с использованием драйверов ODAC / ODP.Net версии 10.1.0.301. После длительного периода бездействия (несколько часов) приложение, по-видимому, случайным образом выдаст исключение Oracle:
Исключение: ORA-03113: конец файла на канале связи в Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx * pOpoSqlValCtx, процедура Oracle, объект Sringing). .OracleCommand.ExecuteReader (логический запрос, логический fillRequest, поведение CommandBehavior) в Oracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader ()
... Oracle часть стека заканчивается здесь ...
Мы создаем новые соединения при каждом запросе, открываем и закрываем упаковку в try / catch / finally, чтобы обеспечить правильное закрытие соединения, и все это заключено в блок using (OracleConnection yadayada) {...}. Эта проблема, по-видимому, не связана с перезапуском приложения ASP.Net после отключения из-за неактивности.
Нам еще предстоит воспроизвести проблему самим. Мысли, молитвы, помощь?
Больше: Проверено с ИТ, брандмауэр не настроен на уничтожение соединений между этими серверами.