質問: Visual Studio 2013を使って、Oracle 12cに接続して定期的にデータを取得するアプリを作成しています。 接続方法はODP.netを使っています。 その場合、突然LANが外れたり、システムがclose処理をしないまま異常終了してしまった場合は、Oracleサーバー側は異常を検知して自動的にcloseされるものなのでしょうか? 例えば、通常の動作が アプリ起動 → Oracle接続 → Oracle切断 → アプリ終了 としていた場合、 アプリ起動 → Oracle接続 → 異常終了 というように、Oracle切断せずにシステムが終了した場合、close処理をしなかったという事でOracle側で何かセッションが残ってしまうなどの不具合はあるのでしょうか? または、アプリが異常終了やLAN切断されるような事があった場合、Oracleのセッションは自動でcloseされるものなのでしょうか? ※この質問は、下記の質問の続きです。
回答: クライアント側の接続が異常終了した場合、セッション、プロセスは残ったままとなります。 多くの場合は OS の keepalive 機能で一定時間無通信のものは終了されます。 切断までのタイミングは OS により異なりますが Windows ではデフォルト120分だったと思います。