FANの全体的な目的は、アプリケーションのエンドツーエンドの完全自動リカバリ、および実際のトランザクション・パフォーマンスに基づいたロード・バランシングを可能にすることです。アプリケーションは、FAN高可用性(HA)イベントを使用して、失敗を高速に検出し、失敗後の接続プールを均等に分散し、失敗したコンポーネントが修復されると接続を再度分散します。
ロード・バランシング・アドバイス・ヘルプ接続プールを持つFANイベントは、最適なサービスを提供する使用可能なインスタンスに接続を一貫して配信します。FAN HAは、JDBC-thinドライバおよびOCIドライバと統合されています。FAN HAおよびFANロード・バランシングの両方が、JDBC Universal Connection Pool (および非推奨の暗黙的な接続キャッシュ)、OCIセッション・プール、ODP.NET接続プールおよびOracle WebLogic Server Active GridLink for Oracle RACと統合されています。
FANとの統合によって、Oracle統合クライアントはOracle RACクラスタの最新のステータスをより迅速に認識します。これによって、クライアント接続が使用できなくなったインスタンスやサービスを待機したり接続試行することがなくなります。インスタンスが起動すると、Oracle RACでは、最近起動されたインスタンスへの接続を接続プールで作成し、このインスタンスで提供される追加リソースを接続プールで使用できるように、FANを使用して接続プールに通知します。
FANと統合されたOracle クライアント・ドライバでは次のことが適用されます。
終了した接続を削除すると同時に、サービスがインスタンスでDOWN
として宣言され、ノードも同時にDOWN
として宣言されます。
サービスが再起動を繰り返し試行する間クライアントを待機させるかわりに、NOT RESTARTING
状態がOracle Databaseで検出されるとすぐにエラーをクライアントにレポートします。
FANと統合されたOracle接続プールでは、次の処理を実行できます。
サービスの起動時に、Oracle RACのすべてのインスタンス間で接続を均等に分散します。この方法は、接続プールで定義されているセッションを、サービスがサポートされている最初のOracle RACインスタンスに割り当てるよりも有効です。
ロード・バランシング・アドバイザのイベントを使用して、実行時の作業要求を均等に分散します。
クライアント・ドライバや接続プールとFANを使用する場合、FANイベントをクライアントに配信するようにOracle Notification Serviceを適切に構成する必要があります。また、ロード・バランシングの場合は、接続プールで使用されるサービスを提供するすべてのインスタンスへのデータベース接続のロード・バランシングを構成する必要があります。Oracle Net Servicesでクライアント側とサーバー側のロード・バランシングを構成することをお薦めします。DBCAを使用してデータベースを作成すると、デフォルトで、クライアント側とサーバー側の両方のロード・バランシングが構成されます。
関連項目: