ODP.NETの接続プールでは、ノード、サービスおよびサービス・メンバーが停止したことを示すFAN HA通知をサブスクライブできます。DOWN
イベントが発生すると、そのインスタンスに送られる接続プール内のセッションはOracle Databaseによって削除され、ODP.NETは無効になった接続を事前対応的に削除します。無効な接続が削除されたことで、接続合計数がMin Pool Size
パラメータの値を下回った場合、ODP.NETは、既存のOracle RACインスタンスへの追加の接続を確立します。
Oracle Database 12c以上に接続する場合、ODP.NETは、Advanced Queuingではなく、Oracle Notification Serviceを使用します。
FAN高可用性イベントをサブスクライブすることによって、ODP.NET接続プールの高速接続フェイルオーバーを有効にします。高速接続フェイルオーバーを有効にするには、次の例に示すとおり、HA Events=true
およびpooling=true
(デフォルト値)を接続文字列に含めますが、ここで、user_name
はデータベース・ユーザーの名前、password
はそのユーザーのパスワードです。
con.ConnectionString = "User Id=user_name;Password=password;Data Source=odpnet;" + "Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;" + "HA Events=true;Incr Pool Size=5;Decr Pool Size=2";
関連項目:
ODP.NETアプリケーションでFANイベントを使用する方法の詳細は、『Oracle Data Provider for .NET開発者ガイドfor Microsoft Windows』を参照してください。