アプリケーション・サーバーの接続プーリングではなく、Oracle の接続キャッシュ機能を使用するよう、Oracle データ・ソースを構成することができます。Oracle
データベースの接続キャッシュは、アプリケーション・サーバーの接続プーリングと類似しています。
このタスクについて
現在、Oracle は、oracle.jdbc.pool.OracleConnectionPoolDataSource クラスでも oracle.jdbc.xa.client.OracleXADataSource クラスでもなく、oracle.jdbc.pool.OracleDataSource 実装クラスを使用するデータ・ソースでのみ接続キャッシュをサポートしています。デフォルトでは、アプリケーション・サーバーの
Oracle JDBC プロバイダーは、非 XA データ・ソースには oracle.jdbc.pool.OracleConnectionPoolDataSource
を使用し、
XA データ・ソースには oracle.jdbc.xa.client.OracleXADataSource を使用するように
構成されています。Oracle 接続キャッシュを有効にするには、
アプリケーション・サーバーで、oracle.jdbc.pool.OracleDataSource クラスを実装する新規の
JDBC プロバイダーを構成して使用する必要があります。
トラブルの回避 (Avoid trouble): Oracle
接続キャッシュは、XA をサポートしていません。
gotcha
手順
- データ・ソースおよびユーザー定義
JDBC プロバイダーを作成します。
- とクリックします。
- 「有効範囲」ドロップダウン・リストからサーバーを選択します。
- 「新規」をクリックします。
- データ・ソースの名前および
JNDI 名を入力します。「次へ」をクリックします。
- JDBC プロバイダーを作成します。 「JDBC
プロバイダーの新規作成 (Create new JDBC provider)」を選択し、
「次へ」をクリックします。
- JDBC プロバイダーに必要なプロパティーを定義します。 以下の構成設定を使用します。
- データベース・タイプ: ユーザー定義
- 実装クラス名: oracle.jdbc.pool.OracleDataSource
「次へ」をクリックします。
- ojdbc6.jar のクラスパスを入力し、「次へ」をクリックします。
- 「データ・ストアのヘルパー・クラス名」には、com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper と入力します。「次へ」をクリックします。
- このデータ・ソースのセキュリティー別名を定義し、
「次へ」をクリックします。
- ウィザードを終了します。
- 構成の変更を保存します。
- 作成したデータ・ソースを構成します。
- データ・ソースの名前をクリックします。 構成パネルが表示されます。
- 「カスタム・プロパティー」を選択し、
このデータ・ソースのプロパティーを作成または変更します。 以下の
カスタム・プロパティーを入力または更新します。
名前 |
値 |
disableWASConnectionPooling |
true トラブルの回避 (Avoid trouble): Oracle がプール境界を制御できるようにするには、WebSphere® Application Server 接続プール設定で maximumPoolSize 属性を 0 に設定する必要もあります。 gotcha
|
connectionCachingEnabled |
true |
connectionCacheName |
your_cache_name |
removeExistingOracleConnectionPoolIfExists |
true トラブルの回避 (Avoid trouble): アプリケーション・サーバーが、同じ名前を持つ既存の
Oracle 接続プールを削除できるように、removeExistingOracleConnectionPoolIfExists プロパティーは、 true に設定する必要があります。そうしないと、作成されたプール名が既存のプール名と同じ場合、Oracle データ・ソースは、getConnection メソッドを失敗させます。 例えば、テスト接続を実行すると、テスト接続プロセスにより、実行時のアプリケーション・サーバーの適切な動作を妨げる Oracle 接続プールが作成されます。
gotcha
|
URL |
Oracle_URL |
トラブルの回避 (Avoid trouble): カスタム・プロパティーの
設定順序は重要です。設定順序が問題になる可能性があるのは、アプリケーション・サーバーはこれらのプロパティーをコレクションとして渡すため、その順序が保証されないからです。この問題が発生した場合は、
Oracle に問い合わせ、Oracle バグ #6638862 を参照してください。
gotcha
- 「適用」または「OK」をクリックします。
- これらの変更をアプリケーション・サーバーの構成に保存します。
- アプリケーション・サーバーを再始動します。
タスクの結果
プールの作成に失敗しても、Oracle はメッセージを表示せず、代わりに通常の接続が返されます。Oracle の接続プールが作成されたことを確認するには、管理コンソールで、データ・ソースに対するテスト接続機能を使用します。最初に、アプリケーションを実行しているサーバーに対して、トレース・ストリング「RRA=all」を使用してトレースをオンにします。次に、テスト接続を実行します。2 番目のテスト接続を実行します。どちらのテスト接続も正常に機能する必要があります。トレース・ログを調べます。
Oracle 接続プールが正常に作成された場合、2 番目のテスト接続によって、最初のテスト接続により Oracle 接続キャッシュが存在していることが検出されたこと、および 2 番目のテストで再作成できるように、最初の接続テストによる Oracle 接続キャッシュが正常に削除されたことがトレースに示されます。