odac(odp) 11gを使用できる場合 、プールの接続の検証を設定しています。使用する前に接続を検証できます。
接続の検証 属性は、プールから出てくる接続を検証します。この属性は、アプリケーションに提供される直前に各接続を検証するためにデータベースへのラウンドトリップが発生するため、絶対に必要な場合にのみ使用する必要があります。無効な接続が一般的でない場合、開発者は、Validate Connection属性を使用する代わりに、独自のイベントハンドラーを作成して、新しい接続を取得および検証できます。これにより、通常、パフォーマンスが向上します。
十分ではない場合は、オラクルからこのドキュメントを試すことができます。
接続プール管理
ODP.NET接続プール管理は、ODP.NETアプリケーションに明示的な接続プール制御を提供します。アプリケーションは、接続プール内の接続を明示的にクリアできます。
接続プール管理を使用すると、アプリケーションは次のことを実行できます。
注:これらのAPIは、.NETストアドプロシージャではサポートされていません。 ClearPoolを使用して接続プールから接続をクリアします メソッド。
ClearAllPools を使用して、アプリケーションドメイン内のすべての接続プールの接続をクリアします メソッド。
接続がプールからクリアされると、ODP.NETは、少なくとも接続文字列の最小プールサイズで設定された接続数を持つ新しい接続をプールに再設定します。新しい接続は、必ずしもプールに有効な接続があることを意味するわけではありません。たとえば、ClearPoolまたはClearAllPoolsが呼び出されたときにデータベースサーバーがダウンした場合、ODP.NETは新しい接続を作成しますが、データベースが後で起動した場合でも、データベースに接続できないため、これらの接続は無効です。
アプリケーションがデータベースへの有効な接続を作成できるようになるまで、ClearPoolとClearAllPoolsを呼び出さないことをお勧めします。NET開発者は、有効なデータベース接続を作成できるかどうかを継続的にチェックするコードを開発し、これが真になるとClearPoolまたはClearAllPoolsを呼び出すことができます。
また、この投稿がお役に立てば幸いです。
更新 :@MPelletierが指摘しているように、Oracle12の場合はリンクが異なります。