シナリオ: pureQuery Runtime 用のリポジトリーの作成および構成

pureQuery ManageRepository ユーティリティーを使用して、トランザクション・データベース内にリポジトリーを作成して管理できます。リポジトリーを作成したら、pureQuery ランタイム・プロパティーをリポジトリーにアップロードします。

このタスクについて

pureQuery ManageRepository ユーティリティーを使用して、次のタスクを実行します。
  • pureQuery ランタイム・プロパティーを保管するためのリポジトリーをトランザクション・データベースに作成します。

    リポジトリーがトランザクション・データベース内にあると、バックアップおよび保守の面でリポジトリーがトランザクション・データベースのすべての利点を得ることになります。

  • 次のようにして、WebSphere® アプリケーションと連動するようにリポジトリーを構成します。
    • リポジトリー内に実行時グループ・バージョンを作成します。
    • その実行時グループ・バージョン用のリポジトリーに pureQuery ランタイム・プロパティーをアップロードします。

      pureQuery ランタイム・プロパティーをリポジトリーに保管すると、pureQuery ランタイム・プロパティーを中央で指定できるようになり、必要なときに変更できます。pureQuery Runtime の自動リフレッシュ機能は、pureQuery ランタイム・プロパティー refreshInterval を設定して使用します。 refreshInterval プロパティーを設定すると、pureQuery Runtime で自動的にランタイム・プロパティーをリフレッシュできます。データベース管理者は、自動リフレッシュを使用して pureQuery ランタイム・プロパティーを変更することで、アプリケーションによって発行される SQL を制御できます。

    • アプリケーションに関連付けられている実行時グループ・バージョンをアクティブ化して、pureQuery Runtime で実行時グループ・バージョンを使用できるようにします。

pureQuery クライアント最適化に対応した WebSphereWeb アプリケーションが、その実行時グループ・バージョン用のリポジトリーにある情報を使用するようになります。

手順

pureQuery Runtime 用にリポジトリーを作成し、構成するには、次のようにします。

  1. リポジトリーをトランザクション・データベースに作成します。
    -create repository オプションを指定して、ManageRepository ユーティリティーを実行します。次のコマンドを使用して、リポジトリーを作成します。
    java com.ibm.pdq.tools.ManageRepository -create repository 
      -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
      -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
      -repositoryUsername "myuser" -repositoryPassword "mypwd" 
      -repositoryType pureQueryRuntimeOnly
    このコマンドに対する出力は、以下のサンプルのようになります。
    IBM Optim pureQuery runtime 2.2.0.3 build 2.18.118 
    Licensed Materials - Property of IBM
    5724-U16
    (c) Copyright IBM Corp. 2006, 2010 All Rights Reserved. 
    
    =============================================================
    
    Starting to process options: -create "repository" 
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "****" -repositoryPassword "*****" 
    -repositoryDriverClass "com.ibm.db2.jcc.DB2Driver" 
    -repositoryType "pureQueryRuntimeOnly"
    
    The ManageRepository utility successfully created the repository. 
    -repositoryType オプションは、pureQuery Runtime 専用の単純なリポジトリーを作成するために pureQueryRuntimeOnly に設定されています。
    ヒント: ManageReposoitory コマンドで -generateScriptOnly オプションを使用すると、リポジトリーを作成するための SQL ステートメントを含む SQL スクリプトを生成できますが、リポジトリーは作成されません。デフォルトの表スペースではなく独自の表スペースに表を配置するよう、スクリプトを変更できます。 ただし、スキーマ名、表名、列名はいずれも変更できません。

    スクリプトを使用してリポジトリーを作成する場合は、-verify repository オプションを指定すると、リポジトリーの正しい構造が保証されます。

  2. リポジトリー内に実行時グループ・バージョンを作成します。

    ID testApp とバージョン ID V1 を指定して、実行時グループを作成します。 実行時グループを作成するときには、バージョンも指定する必要があります。

    以下の ManageRepository コマンドを実行して、実行時グループ・バージョンを作成します。
    java com.ibm.pdq.tools.ManageRepository -create runtimeGroup 
      -repositoryDriverClass  com.ibm.db2.jcc.DB2Driver 
      -repositoryURL  "jdbc:db2://testserver.test.com:32706/sample" 
      -repositoryUsername  "myuser" -repositoryPassword  "mypwd" 
      -runtimeGroupId testApp 
      -runtimeGroupVersion V1 
    このコマンドに対する出力は、以下のサンプルのようになります。
    IBM Optim pureQuery runtime 2.2.0.3 build 2.18.118
    Licensed Materials - Property of IBM
    5724-U16
    (c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
    
    =========================================================
    
    Starting to process options:  -create "runtimeGroup" 
      -bind "packages" -runtimeGroupVersion "V1" 
      -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
      -repositoryUsername "myuser" -repositoryPassword "******" 
      -repositoryDriverClass "com.ibm.db2.jcc.DB2Driver" 
      -runtimeGroupId "testApp"
    
    The ManageRepository utility successfully created the runtime group "testApp" version "V1".

    グループ ID である testApp は、カスタム・データ・ソース・プロパティー pdqProperties を WebSphere データ・ソースに対して作成したときに、pureQuery ランタイム・プロパティー propertiesGroupId に指定した値と同じです。

  3. pureQuery ランタイム・プロパティーを含むファイルを作成します。
    pureQuery ランタイム・プロパティー captureMode の値を ON に設定して、ファイル pqtest.properties をローカル・ファイル・システムの現行ディレクトリーに作成します。 ファイルには、次のテキスト行が含まれています。
    pdq.captureMode=ON
    pdq.allowDynamicSQL=TRUE

    pureQuery ランタイム・プロパティーをプロパティー・ファイルで指定するときに、プロパティー名に prefix pdq. を追加します。

    captureMode プロパティーの値が ON であるときに、outputPureQueryXml プロパティーおよび outputXmlRepository プロパティーが指定されていないと、pureQuery Runtime はキャプチャーした SQL データを、pureQuery プロパティー finalRepositoryProperties で指定されているリポジトリーに保管します。 リポジトリーで、データは、pureQuery プロパティー propertiesGroupId で指定された実行時グループのアクティブ・バージョンで保管されます。

    pureQuery ランタイム・プロパティー allowDynamicSQL のデフォルト値は、TRUE であり、プロパティー・ファイルでは必須ではありません。ファイルにこのプロパティーを含めると、デフォルト値を再認識できます。pureQuery Runtime を使用することにより、アプリケーションによって発行された SQL ステートメントが以前にキャプチャーされていなくても、デフォルトでそれらを動的に実行できます。

  4. pureQuery ランタイム・プロパティーをリポジトリーにアップロードします。
    以下のコマンドを実行します。
    java com.ibm.pdq.tools.ManageRepository -update runtimeGroup 
      -repositoryDriverClass com.ibm.db2.jcc.DB2Driver
      -repositoryURL jdbc:db2://testserver.test.com:32706/sample" 
      -repositoryUsername "myuser" -repositoryPassword "mypwd" 
      -runtimeGroupId testApp 
      -pureQueryProperties ./pqtest.properties -runtimeGroupVersion V1
    このコマンドに対する出力は、以下のサンプルのようになります。
    IBM Optim pureQuery Runtime 2.2.0.3 build 2.18.118
    Licensed Materials - Property of IBM
    5724-U16
    (c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
    
    ======================================================
    
    Starting to process options: -update "runtimeGroup" 
    -runtimeGroupVersion "v1" 
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "*****" -repositoryPassword "****" 
    -repositoryDriverClass "com.ibm.db2.jcc.DB2Driver"
    -pureQueryProperties "./pqtest.properties" 
    -runtimeGroupId "testApp" 
    
    The ManageRepository utility successfully updated the runtime group "testApp" version "V1".
  5. 実行時グループ testApp の実行時グループ・バージョン V1 をアクティブ化します。

    以下のコマンドを実行します。

    java com.ibm.pdq.tools.ManageRepository -activate runtimeGroup 
    -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
    -repositoryURL "jdbc:db2://testserver.test.com:32706/sample" 
    -repositoryUsername "myuser" -repositoryPassword "mypwd" 
    -runtimeGroupId testApp 
    -runtimeGroupVersion V1
    このコマンドに対する出力は、以下のサンプルのようになります。
    IBM Optim pureQuery Runtime 2.2.0.3 build 2.18.118
    Licensed Materials - Property of IBM
    5724-U16
    (c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
    
    ==========================================
    
    Starting to process options: -activate "runtimeGroup" 
    「-runtimeGroupVersion "V1" -repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
    -repositoryUsername "*****"  -repositoryPassword "*****" 
    -pureQueryProperties "./pqtest.properties" 
    -runtimeGroupId "testApp" 
    
    The ManageRepository utility successfully activated the runtime group "testApp" version "V1".

タスクの結果

リポジトリーを作成し、pureQuery ランタイム・プロパティーをリポジトリー内の実行時グループ・バージョンに追加しました。 また、リポジトリー内の実行時グループ・バージョンをアクティブ化して、pureQuery Runtime が実行時グループのプロパティーをリポジトリーから取得できるようにしました。

アプリケーションを実行すると、それが発行する SQL ステートメントと SQL ステートメントに関連付けられたデータを pureQuery Runtime がキャプチャーします。キャプチャー・プロセスにより、キャプチャー情報を含む新規レコードがリポジトリーに作成されます。

次のタスク

次のタスクでは、アプリケーションの実行時にリポジトリーおよびリポジトリー内の pureQuery データを使用するように WebSphere Application Server を構成します。リポジトリーから pureQuery 情報を取得するように pureQuery Runtime を構成する場合は、実行時グループを指定します。 pureQuery Runtime は、実行時グループのアクティブ・バージョンから情報を取得します。


フィードバック