シナリオ: pureQuery データのストレージの pureQuery ランタイム・プロパティーによる制御

pureQuery ランタイム・プロパティーを使用して、pureQuery Runtime が pureQuery 情報を取得し、キャプチャーした SQL データを保管するために使用するロケーションを制御できます。
以下のシナリオでは、pureQuery ランタイム・プロパティーを使用して、pureQuery Runtime によるさまざまなストレージ・ロケーションの使用法を制御する方法について説明します。

pureQuery クライアント最適化およびリポジトリーを使用するようにアプリケーションを構成

以下のステップでは、pureQuery クライアント最適化で 最初にリポジトリーを使用する方法について概説します。
  1. データベース管理者は SQL 管理リポジトリーを作成します。
  2. 管理者は、リポジトリー内に少なくとも 1 つのランタイム・グループ・バージョンを作成します。
  3. アプリケーション管理者は、ランタイム・グループ・バージョンに以下の pureQuery ランタイム・プロパティーを設定します。 その pureQuery ランタイム・プロパティーは、データベース管理者がランタイム・グループ・バージョンにアップロードします。
    executionMode
    値は DYNAMIC に設定されます。
    captureMode
    値は ON に設定されます。
    propertiesRefreshInterval
    値は 1 (1 分) に設定されます。

    その他の pureQuery ランタイム・プロパティーは、必要に応じてアプリケーションに設定されます。

    ランタイム・グループ・バージョンには、pureQueryXML データは含まれません。

  4. データベース管理者は、ランタイム・グループ・バージョンをアクティブ化します。
  5. pureQuery クライアント最適化を使用するよう構成されたアプリケーションでは、アプリケーション管理者が、以下の pureQuery ランタイム・プロパティーを SQL 管理リポジトリーから pureQuery データを取得するように指定します。
    finalRepositoryProperties
    事前に作成したリポジトリーを指定します。
    propertiesGroupId
    事前に作成した pureQuery ランタイム・グループを指定します。
    repositoryRequired
    値はアプリケーション管理者が指定した動作に設定されます。
    propertiesRefreshInterval
    値は 1 (1 分) に設定されます。
  6. アプリケーション管理者はアプリケーションを開始します。
  7. アプリケーションが実行します。pureQuery クライアント最適化は、SQL データをキャプチャーし、ランタイム・グループ・データの一部としてリポジトリーに保管します。
  8. データベース管理者は、以下のステップを実行して、 キャプチャーした SQL を pureQuery クライアント最適化で使用する準備を整えます。
    1. ManageRepository ユーティリティーを使用して、 キャプチャーした SQL データおよびその他の pureQuery データをリポジトリーから抽出します。
    2. 必要に応じて、キャプチャーした SQL データを単一の pureQueryXML ファイルにマージします。
    3. pureQueryXML ファイルを構成します。
    4. StaticBinder ユーティリティーを使用して、pureQueryXML ファイル内の SQL ステートメントからアプリケーション・データベース上にパッケージを作成し、そのパッケージをデータベースにバインドします。
  9. データベース管理者は、以下の pureQuery データを、既存のランタイム・グループの新バージョンにあるリポジトリーにアップロードします。
    • pureQueryXML データ。
    • 以下の pureQuery ランタイム・プロパティー。
      executionMode
      値は STATIC に設定されます。
      allowDynamicSQL
      値は TRUE に設定されます。
      captureMode
      値は OFF に設定されます。このプロパティーを ON に設定すると、 アプリケーションから追加の SQL ステートメントをキャプチャーできます。
      propertiesRefreshInterval
      1 分のままになります。
  10. データベース管理者は、新ランタイム・グループ・バージョンをアクティブに設定します。
  11. pureQuery 対応のアプリケーションは、pureQuery 情報に対する変更を検査して pureQuery 情報を更新した後、キャプチャーされてデータベースにバインドされたステートメントの静的 SQL ステートメントを呼び出します。
    注: WHERE CURRENT OF を使用する一部の SQL ステートメントが長い実行時間を必要とする場合、その実行時間が原因で静的 SQL ステートメントの使用が遅延することがあります。
  12. データベース管理者は、この処理を繰り返し、引き続きアプリケーションから SQL データをキャプチャーし、pureQuery 情報を更新して、他の pureQuery フィーチャーをテストすることができます。 アプリケーション・サーバー管理者は、データベース管理者によるテストの間は、アプリケーションを再始動する必要はありません。

既存のアプリケーションをリポジトリーを使用するように構成

pureQuery クライアント最適化対応の既存のアプリケーションを、 SQL 管理リポジトリーを使用するように構成できます。 アプリケーションがリポジトリーの pureQuery データを使用している場合、データベース管理者は、アプリケーションを再デプロイすることなく、リポジトリー内の pureQuery データを変更できます。

以下のステップでは、pureQuery ランタイム・プロパティーおよび pureQueryXML データをリポジトリーに移動する方法について概説します。 これらのステップは、以下の環境を想定しています。
  • アプリケーションが現在 pureQuery クライアント最適化を使用しており、静的 SQL を実行している。
  • pureQuery プロパティーおよび pureQueryXML がアプリケーションの EAR ファイルおよび DataSource.pdqProperties 内にある。
  1. アプリケーション管理者は、アプリケーションが現在使用している pureQuery プロパティーを判別します。
    注: 現行のプロパティー設定を確認するため、管理者は JCC トレースを使用して現行のプロパティーを表示することができます。
  2. アプリケーション管理者は、現行の pureQueryXML ファイルを入手します。 例えば、EAR ファイルかソース・コード制御システムからファイルを抽出します。
  3. アプリケーション管理者は、すべての現行のプロパティーおよび値を含んだ pureQuery プロパティー・ファイルを作成します。
    注: pureQueryXml プロパティーは、ファイルに含まれません。 finalRepositoryProperties および propertiesGroupId プロパティーは、 pureQueryXML ファイルのロケーションを指定します。
  4. データベース管理者は、SQL 管理リポジトリーが存在しなければ作成します。
  5. データベース管理者はリポジトリー内にランタイム・グループ・バージョンを作成し、アプリケーション管理者から pureQuery ランタイム・プロパティー・ファイルおよび pureQueryXML ファイルをアップロードします。
  6. データベース管理者は、ランタイム・グループ・バージョンをアクティブ化します。
  7. アプリケーション管理者は、アプリケーションが始動時にリポジトリーから pureQuery 情報を取得するために使用する pureQuery ランタイム・プロパティーを更新します。
    finalRepositoryProperties
    アプリケーションの pureQueryXML データおよびランタイム・プロパティーを含んでいるリポジトリーを指定します。
    propertiesGroupId
    リポジトリー内のランタイム・グループを指定します。
    repositoryRequired
    アプリケーション管理者が指定した動作に設定されます。
  8. アプリケーション管理者は、pureQuery ランタイム・プロパティーを以下のロケーションのいずれかに追加します。
    • そのデータ・ソースを使用するすべてのアプリケーションがリポジトリーを使用可能な場合は、DataSource.pdqProperties。
    • アプリケーションが 1 つのデータ・ソースのみを使用する場合は、EAR ファイル内の pdq.appwide.properties。
    • EAR ファイル内の pdq.targetDSName.properties。ここで、targetDSName はリポジトリー・プロパティーおよび pureQueryXML データを参照するデータ・ソースの名前です。
    注: EAR ファイルが変更された場合、アプリケーション管理者はその更新後の EAR ファイルを再デプロイする必要があります。
  9. アプリケーション管理者はアプリケーションを再デプロイして開始します。 アプリケーションは pureQuery ランタイム・プロパティーおよび pureQueryXML データをリポジトリー内のランタイム・グループ・バージョンから取得します。

キャプチャーした SQL データと共にリポジトリーに保管される pureQueryXML データの更新

以下のステップでは、リポジトリーに保管されるキャプチャーした SQL データの使用法について概説します。 これらのステップは、以下の環境を想定しています。
  • pureQuery クライアント最適化を使用するように構成されたアプリケーションが静的 SQL を呼び出しており、インクリメンタル・キャプチャーが有効になっている。
  • pureQuery プロパティーおよびキャプチャーした SQL データがリポジトリー内にあり、propertiesRefreshInterval プロパティーの値が 60 (1 時間) である。
データベース管理者は以下のステップを実行します。
  1. キャプチャーした SQL を、リポジトリー内のランタイム・グループから抽出し、必要に応じて、pureQueryXML データおよび構成データを抽出します。 ManageRepository ユーティリティーを使用します。
    注: キャプチャーした SQL データは取得中であるため、 captureMode プロパティーは ON に設定されたままになります。 SQL データは依然としてキャプチャーされています。 ただし、ManageRepository ユーティリティーは、キャプチャーした SQL データの完全なセットのみを抽出します。
  2. Merge、Configure、および StaticBinder の各ユーティリティーを使用して 新規 pureQueryXML ファイルを作成し、その pureQueryXML ファイル内の SQL ステートメントをデータベースにバインドします。
  3. 新しい pureQueryXML および pureQuery ランタイム・プロパティーを、リポジトリー内のランタイム・グループの新バージョンにアップロードします。
  4. オプション: pureQueryXML ファイルにマージ後の、キャプチャーした SQL データを削除します。
  5. 新ランタイム・グループ・バージョンをアクティブに設定します。

1 時間以内に、アプリケーションが使用する pureQuery Runtime がリポジトリー内の更新された pureQuery データを検査し、ランタイム・グループの新バージョンで更新後の pureQueryXML データおよび pureQuery プロパティーを使用します。

注: ワークベンチを使用している場合、リポジトリーに接続し、「ランタイム・グループ作業用コピー・エディター」を使用してランタイム・グループ・バージョンの pureQuery データを管理できます。

フィードバック