OCIクライアントは、Oracle RAC高可用性FANイベントの通知を受信するように登録し、イベント発生時に応答することによって、FCFを有効にできます。FCFを使用すると、OCIアプリケーションでのセッション・フェイルオーバー応答時間が向上し、接続プールおよびセッション・プールから機能していないインスタンスへの接続も削除されます。FCFはOCIアプリケーションで使用でき、このアプリケーションはTAF、OCIドライバ(独自の接続プールを含む)、OCI接続プールおよびOCIセッション・プールも使用します。FANは、高可用性およびロード・バランシング・イベントのためにOracle Notification Serviceでポストされます。
FCFを使用するには、FANが有効なサービスを使用する必要があります。FANは、Oracle Notification Service経由で公開されます。クライアント・アプリケーションには、イベント発生時に使用するコールバックを登録することもできます。これによって、接続障害が検出されるまでの時間が短縮されます。
DOWN
イベントの処理中に、OCIでは次の処理が実行されます。
クライアントで影響を受ける接続が終了し、エラーが戻されます。
OCI接続プールおよびOCIセッション・プールから接続を削除します。OCIセッション・プールでは、各セッションが接続プールの物理的な接続とマッピングされています。1つの接続に複数のセッションが存在する場合もあります。
TAFが構成されている場合、接続をフェイルオーバーします。TAFが構成されていない場合、接続先のインスタンスに障害が発生しても、クライアントはエラーを受信するだけです。
アプリケーションでTAFを使用している場合は、SRVCTLまたはOracle Enterprise Managerを使用して、サービスのTAFプロパティを有効にする必要があります。構成済のサービスを使用して、Oracle RACデータベースに接続するようにOCIクライアント・アプリケーションを構成します。
注意:
OCIはUP
イベントを管理しません。
関連項目:
TAFの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
OCIクライアント用のFCFの構成
OCIアプリケーションは、Oracle RACインスタンスに接続して、HAイベント通知を有効にする必要があります。さらに、これらのアプリケーションは、次の手順を実行してOCIクライアント用のFCFを構成する必要があります。
次の例に示すとおり、FAN、接続時ロード・バランシングおよびランタイム接続ロード・バランシングを有効にするように、OCI接続プールのサービスを構成します。
$ srvctl modify service -db crm -service ociapp.example.com -notification TRUE
アプリケーションをスレッド・ライブラリにリンクします。
スレッド・ライブラリにリンクした後、アプリケーションは、FANイベントが発生すると常に起動されるコールバックを登録できます。
関連項目:
OCIの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。