Universal Connection Poolまたは暗黙接続キャッシュ用のFCFを有効にできます。暗黙接続キャッシュは非推奨であるため、Universal Connection PoolをJavaに使用することをお薦めします。Oracle WebLogic Server Active GridLink for Oracle RACを使用することもできます。
この項では、JDBC用のFCFを有効にする方法について説明します。JDBC/OCIクライアントでFCFを有効にしている場合は、Oracle Database 11gリリース2 (11.2)で使用されているOCI クライアント用にFANを有効化する方法(サービスでnotification
をTRUEに設定)は使用せず、クライアントまたはサーバーのいずれにもTAFを構成しないでください。アプリケーション・コンティニュイティおよびトランザクション・ガードを構成することもできます。
FCFを有効にするには、次の手順で説明するように、最初にUniversal Connection Poolを有効にする必要があります。
接続プールを作成し、setFastConnectionFailoverEnabled(true)
を設定します。
次の例では、接続プールを作成し、FCFを有効にします。この例を使用する場合、ucp.jar
ライブラリはアプリケーションのCLASSPATHに含まれる必要があります。
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource(); pds.setFastConnectionFailoverEnabled(true);
Oracle Notification Serviceリモート・サブスクリプションに使用するポートを特定します。
次の例に示すように、Oracle Clusterwareを実行している各ノードで、次のコマンドを使用してOracle Notification Service構成を表示します。
srvctl config nodeapps -onsonly
このコマンドの出力では、Oracle Notification Service用に構成されているローカル・ポートおよびリモート・ポートがリストされます。
注意:
Oracle Notification Service構成は、Oracle Clusterwareのインストール時に自動的に完了しているはずです。
リモートOracle Notification Serviceサブスクリプションを構成します。
ユニバーサル接続プールを使用する場合、アプリケーションはOracleDataSource
インスタンスのsetONSConfiguration
をコールして、使用するノード番号とポート番号を指定します。次の例に示すように、各ノードで使用されるポート番号は、手順2の各ノードで表示されるリモート・ポートと同じです。この例を使用する場合、ons.jar
ライブラリはアプリケーションのCLASSPATHに含まれる必要があります。
pds.setONSConfiguration("nodes=racnode1:6200,racnode2:6200");
リモートOracle Notification Service構成を使用するアプリケーションでは、次の例のように、アプリケーションを起動する前に、oracle.ons.oraclehome
システム・プロパティにORACLE_HOME
の場所を設定する必要があります。
java -Doracle.ons.oraclehome=$ORACLE_HOME ...
接続URLを構成します。
FCFを使用する場合、コネクション・ファクトリの接続URLはサービス名構文を使用する必要があります。サービス名は、接続プールをサービスにマップするために使用されます。次の例では、接続URLの構成を示しています。
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource"); pds.setURL("jdbc:oracle:thin@//SCAN_name:service_name");...
関連項目:
JDBCの詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。
FCFの構成の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。