pureQuery ManageRepository ユーティリティーを使用して、トランザクション・データベース内にリポジトリーを作成して管理できます。リポジトリーを作成したら、pureQuery ランタイム・プロパティーをリポジトリーにアップロードします。
このタスクについて
pureQuery ManageRepository ユーティリティーを使用して、次のタスクを実行します。
pureQuery クライアント最適化に対応した WebSphereWeb アプリケーションが、その実行時グループ・バージョン用のリポジトリーにある情報を使用するようになります。
手順
pureQuery Runtime 用にリポジトリーを作成し、構成するには、次のようにします。
- リポジトリーをトランザクション・データベースに作成します。
-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 オプションを指定すると、リポジトリーの正しい構造が保証されます。
- リポジトリー内に実行時グループ・バージョンを作成します。
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 に指定した値と同じです。
- pureQuery ランタイム・プロパティーを含むファイルを作成します。
pureQuery ランタイム・プロパティー
captureMode の値を
ON、
NEW_STMT、
または
LITE に設定して、ファイル
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 ステートメントが以前にキャプチャーされていなくても、デフォルトでそれらを動的に実行できます。
ヒント: SQL データのキャプチャー中にパフォーマンスの問題が生じた場合は、captureMode プロパティーの
値を NEW_STMT または LITE に設定して、キャプチャーする SQL データの量を減らします。
- 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".
- 実行時グループ 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 は、実行時グループのアクティブ・バージョンから情報を取得します。