アプリケーション・サーバーでの Oracle 接続キャッシュの構成

アプリケーション・サーバーの接続プーリングではなく、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) トラブルの回避 (Avoid trouble): Oracle 接続キャッシュは、XA をサポートしていません。gotcha

手順

  1. データ・ソースおよびユーザー定義 JDBC プロバイダーを作成します。
    1. 「リソース」 > 「JDBC」 > 「データ・ソース」とクリックします。
    2. 有効範囲」ドロップダウン・リストからサーバーを選択します。
    3. 「新規」をクリックします。
    4. データ・ソースの名前および JNDI 名を入力します。「次へ」をクリックします。
    5. JDBC プロバイダーを作成します。JDBC プロバイダーの新規作成 (Create new JDBC provider)」を選択し、 「次へ」をクリックします。
    6. JDBC プロバイダーに必要なプロパティーを定義します。 以下の構成設定を使用します。
      • データベース・タイプ: ユーザー定義
      • 実装クラス名: oracle.jdbc.pool.OracleDataSource
      次へ」をクリックします。
    7. ojdbc6.jar のクラスパスを入力し、「次へ」をクリックします。
    8. データ・ストアのヘルパー・クラス名」には、com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper と入力します。「次へ」をクリックします。
    9. このデータ・ソースのセキュリティー別名を定義し、 「次へ」をクリックします。
    10. ウィザードを終了します。
    11. 構成の変更を保存します。
  2. 作成したデータ・ソースを構成します。
    1. データ・ソースの名前をクリックします。 構成パネルが表示されます。
    2. カスタム・プロパティー」を選択し、 このデータ・ソースのプロパティーを作成または変更します。 以下の カスタム・プロパティーを入力または更新します。
      名前
      disableWASConnectionPooling true
      トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): Oracle がプール境界を制御できるようにするには、WebSphere® Application Server 接続プール設定で maximumPoolSize 属性を 0 に設定する必要もあります。gotcha
      connectionCachingEnabled true
      connectionCacheName your_cache_name
      removeExistingOracleConnectionPoolIfExists true
      トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): アプリケーション・サーバーが、同じ名前を持つ既存の Oracle 接続プールを削除できるように、removeExistingOracleConnectionPoolIfExists プロパティーは、true に設定する必要があります。そうしないと、作成されたプール名が既存のプール名と同じ場合、Oracle データ・ソースは、getConnection メソッドを失敗させます。

      例えば、テスト接続を実行すると、テスト接続プロセスにより、実行時のアプリケーション・サーバーの適切な動作を妨げる Oracle 接続プールが作成されます。

      gotcha
      URL Oracle_URL
      トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): カスタム・プロパティーの 設定順序は重要です。設定順序が問題になる可能性があるのは、アプリケーション・サーバーはこれらのプロパティーをコレクションとして渡すため、その順序が保証されないからです。この問題が発生した場合は、 Oracle に問い合わせ、Oracle バグ #6638862 を参照してください。gotcha
  3. 適用」または「OK」をクリックします。
  4. これらの変更をアプリケーション・サーバーの構成に保存します。
  5. アプリケーション・サーバーを再始動します。

タスクの結果

プールの作成に失敗しても、Oracle はメッセージを表示せず、代わりに通常の接続が返されます。Oracle の接続プールが作成されたことを確認するには、管理コンソールで、データ・ソースに対するテスト接続機能を使用します。最初に、アプリケーションを実行しているサーバーに対して、トレース・ストリング「RRA=all」を使用してトレースをオンにします。次に、テスト接続を実行します。2 番目のテスト接続を実行します。どちらのテスト接続も正常に機能する必要があります。トレース・ログを調べます。

Oracle 接続プールが正常に作成された場合、2 番目のテスト接続によって、最初のテスト接続により Oracle 接続キャッシュが存在していることが検出されたこと、および 2 番目のテストで再作成できるように、最初の接続テストによる Oracle 接続キャッシュが正常に削除されたことがトレースに示されます。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_oracleracconnpool
ファイル名:tdat_oracleracconnpool.html