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