ODAC/ODP.Net ドライバーのバージョン 10.1.0.301 を使用して、IIS5 で負荷分散された (セッション状態を使用しない) ASP.Net 2.0 アプリを単一の Oracle 10g サーバーで実行しています。長期間 (数時間) 非アクティブな状態が続くと、アプリケーションは一見ランダムに、Oracle 例外をスローします。
例外: ORA-03113: Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure) の通信チャネルでファイルの終わりOracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader() での .OracleCommand.ExecuteReader(Boolean requery、Boolean fillRequest、CommandBehavior 動作)
...スタックのオラクル部分はここで終わります...
リクエストごとに新しい接続を作成し、オープンとクローズを try/catch/finally でラップして適切な接続クローズを確保し、すべてを using (OracleConnection yadayada) {...} ブロックでラップします。この問題は、非アクティブのためにスピン ダウンされた後の ASP.Net アプリケーションの再起動に関連しているようには見えません。
私たちはまだ問題を再現していません。考え、祈り、助けますか?
詳細: IT 部門に確認したところ、これらのサーバー間の接続を切断するようにファイアウォールが設定されていません。