リポジトリーのインストールをサポートしているデータベースが使用可能でなければならず、アプリケーションが pureQuery クライアント最適化を使用するように構成されている必要があります。 pureQuery のシステム要件については、InfoSphere® Optim™ pureQuery Runtime のシステム要件を参照してください。
以下のセクションでは、ManageRepository ユーティリティーについて説明しています。
ダイアグラムで使用される規則を理解するには、構文図の読み方を参照してください。
リポジトリー・レベルの ManageRepository 操作には、 データベースでのリポジトリーの作成/アップグレード/削除、リポジトリーの妥当性検査、およびリポジトリーのバージョンの表示などがあります。
リポジトリーの作成、リポジトリーの削除、またはリポジトリーのバインドに必要な SQL ステートメントを表示するには、-generateScriptOnly オプションを使用します。 ステートメントは操作を実行せずに生成されます。SQL ステートメントを変更して発行する場合は、-verify repository オプションを使用して リポジトリーを検査できます。
pureQuery クライアント最適化に使用される pureQuery ファイルからの情報のみが含まれたリポジトリーを作成するには、-repositoryType オプションに pureQueryRuntimeOnly 値を指定して使用します。
(1) >>-------java--com.ibm.pdq.tools.ManageRepository---------------> >--+- -create repository-- -repositoryType--+-pureQueryOnly--------+----------------+--> | '-pureQueryRuntimeOnly-' | | (2) | +------- -bind packages----------------------------------------------------------+ +- -verify repository------------------------------------------------------------+ +- -report--+-repositoryData--+---------------------------+-- -file--file-name-+-+ | | | .-long--. | | | | | '- -reportlength--+-short-+-' | | | '-repositoryVersion------------------------------------------------' | +- -delete repository--+--------------------+------------------------------------+ | | .-FALSE-. | | | '- -force--+-TRUE--+-' | '- -upgrade repository-----------------------------------------------------------' >--| connection information |-----------------------------------> >--+-------------------------------------------------+----------> | (3) | '------- -generateScriptOnly--path-to-script-file-' >--+--------+-------------------------------------------------->< '- -help-' connection information |-- -repositoryURL--URL-to-repository-database------------------> >-- -repositoryUsername--user-ID-- -repositoryPassword--password--> >-- -repositoryDriverClass--driverclass-------------------------> >--+-------------------------------------------+----------------| | (4) .-IBMPDQ------. | '------- -repositorySchema--+-schema-name-+-'
以下のリストでは、サポートされている ManageRepository オプションおよび変数について説明しています。
リポジトリーが存在している場合には、エラーが表示されます。
pureQueryXML ファイルの内容をリポジトリーにアップロードすると、ManageRepository ユーティリティーが pureQueryXML データから SQL ステートメントを 抽出して、その SQL ステートメントを個別にリポジトリーに保管します。
リポジトリーには、IBM® Data Studio からリポジトリーにエクスポートされた SQL データを含めることができます。
-generateScriptOnly オプションを使用して、リポジトリーを作成する SQL ステートメントを含む SQL スクリプトを生成します。このとき、リポジトリーは作成されません。スクリプトを確認したら、スクリプトを実行してリポジトリーを作成できます。SQL ステートメントを変更してスクリプトを実行する場合は、-verify repository オプションを使用してリポジトリーを検査できます。
リポジトリーが作成されると、ManageRepository ユーティリティーの -grant オプションおよび -revoke オプションを使用して、作成されたパッケージに対する特権の付与および取り消しが行われます。パッケージへのアクセス権限の付与について詳しくは、ランタイム・グループの特権の管理操作を参照してください。
-generateScriptOnly オプションを使用して、バインド操作を実行せずに、スクリプトのみを生成します。
返される出力には、リポジトリー内の各種コンポーネントに関する情報が含まれています。 また、この出力には、リポジトリーに関する問題 (不正な許可、列が足りない表など) を示すメッセージも含まれます。
-generateScriptOnly オプションを使用して、リポジトリーを検証せずに SQL スクリプトを生成します。
-force TRUE を使用すると、メッセージを表示せずに削除の確認が行われます。
-generateScriptOnly オプションを使用して、リポジトリーを削除せずに SQL スクリプトを生成します。
pureQuery Runtime バージョン 3.2 以降では、リポジトリーを削除しても、リポジトリーの表スペースまたはバッファー・プールは削除されません。 表スペースまたはバッファー・プールの削除について詳しくは、使用上の注意を参照してください。
リポジトリーを作成するスクリプトに対し、いくつかのオブジェクト名を変更するための修正を加えることができます。 ただし、スキーマ名、表名、列名はいずれも変更できません。 ManageRepository スクリプトの操作については、『使用上の注意』を参照してください。
スクリプトを確認して変更すると、データベース管理者はこのスクリプトを実行してリポジトリーを作成できるようになります。例えばデータベース管理者は、スクリプト内の SQL ステートメントに表スペースを追加できます。
リポジトリーの作成後、-verify repository オプションを使用してリポジトリーを検査できます。
-bind packages オプションでは、コレクション名およびパッケージ名はユーティリティーにより選択され、ユーザーはこれを変更できません。
ログ・イベントの保管をサポートするリポジトリーの場合は、pureQuery ロギング・プロパティー com.ibm.pdq.database を指定して、pureQuery イベントをリポジトリーに書き込むことができます。
リポジトリーをアップグレードせずに SQL スクリプトを生成するには、-generateScriptOnly オプションを使用してください。
以下のリストでは、リポジトリー・データベースへの接続に必要な情報について説明しています。
リポジトリーのスキーマ名の指定については、使用上の注意を参照してください。
ManageRepository ランタイム・グループ操作には、リポジトリー内のランタイム・グループおよびグループのバージョンの作成、管理、および削除があります。
ランタイム・グループ・バージョンに保管される pureQuery データには、pureQuery 構成情報や pureQueryXML データなどがあります。 また、オプションとして、pureQuery クライアント最適化に対応したアプリケーションからキャプチャーされた SQL データもあります。
ランタイム・グループ・バージョンには、ランタイム、およびグループのアクティブ・バージョンを識別するために pureQuery Runtime で使用される他の情報も含まれます。
(1) >>-------java--com.ibm.pdq.tools.ManageRepository---------------> >--+- -create runtimeGroup--+--------------------+------------------------------------------------+--> | '-| pureQuery data |-' | +- -update runtimeGroup--+--------------------+------------------------------------------------+ | '-| pureQuery data |-' | +- -delete runtimeGroup--+--------------------+------------------------------------------------+ | | .-FALSE-. | | | '- -force--+-TRUE--+-' | +- -delete incremental-- -inputDirectory--path-to-directory-- -incrementalCapture--file-prefix-+ +- -list runtimeGroupVersions------------------------------------------------------------------+ +- -activate runtimeGroup----------------------------------------------------------------------+ +- -deactivate runtimeGroup--------------------------------------------------------------------+ '- -copy runtimeGroup--+---------------------------------+-- -targetVersion--target-version----' '- -sourceVersion--source-version-' >-- -runtimeGroupId--GroupID------------------------------------> (2) >-------- -runtimeGroupVersion--version-------------------------> >--+--------------------------------+--+--------+---------------> '- -contact--contact-information-' '- -help-' >--| connection information |---------------------------------->< pureQuery data (3) |-------- -inputDirectory--path-to-directory--------------------> >--+----------------------------------------+-------------------> '- -pureQueryXml--pureQueryXML-file-name-' >--+------------------------------------------+-----------------> '- -pureQueryProperties--runtime-prop-file-' >--+------------------------------------------+-----------------> '- -optionsFileForConfigure -genProps-file-' >--+--------------------------------------+---------------------| '- -optionsFileForBind -bindProps-file-' connection information |-- -repositoryURL--URL-to-repository-database------------------> >-- -repositoryUsername--user-ID-- -repositoryPassword--password--> >-- -repositoryDriverClass--driverclass-------------------------> >--+-------------------------------------------+----------------| | (4) .-IBMPDQ------. | '------- -repositorySchema--+-schema-name-+-'
以下のリストでは、サポートされている ManageRepository オプションおよび変数について説明しています。
runtimeGroupId がリポジトリー内に存在する場合は、 エラーが表示されます。
デフォルトをオーバーライドして他のプロパティーを指定するには、プロパティーとその値を含むファイルを指定します。
メッセージを表示せずに削除を許可するには、-force TRUE オプションを使用します。
キャプチャーされた SQL データとランタイム・グループ・バージョンの pureQueryXML データのマージ後は、このバージョンのキャプチャーされた SQL データを削除できます。
pureQuery Runtime がリポジトリー内のランタイム・グループにアクセスする際には、アクティブなランタイム・グループ・バージョンにある pureQuery 情報が使用されます。
デフォルトでは、pureQuery Runtime は、ランタイム・グループ・バージョンがアクティブ化された後に、ランタイム・グループ・バージョン用の pureQuery 情報に対する更新を検査します。 ランタイム・グループ・バージョンがアクティブ化されており、ランタイム・グループ・バージョン用の pureQuery データが更新されている場合、pureQuery Runtime はデータをリフレッシュします。 pureQuery Runtime プロパティー runtimeGroupActivationCheckInterval および propertiesRefreshInterval により、ランタイム・グループ・バージョン用の pureQuery 情報に対する更新を pureQuery Runtime がいつチェックするかを制御します。 更新のチェックについて詳しくは、使用上の注意を参照してください。
pureQuery Runtime は、リポジトリー内のランタイム・グループにアクセスするときに、アクティブでないランタイム・グループにある pureQuery 情報を無視します。
source-version 値が指定されない場合は、アクティブ・ランタイム・グループ・バージョンが使用されます。 source-version 値が指定されず、アクティブ・ランタイム・グループ・バージョンが存在しない場合は、エラーが表示されます。
以下のリストでは、pureQuery データ・オプションについて説明します。
以下のリストでは、リポジトリー・データベースへの接続に必要な情報について説明しています。
リポジトリーのスキーマ名の指定については、使用上の注意を参照してください。
特権の管理操作は、SQL キャプチャー・データがリポジトリー・データベースに保管された後に実行されます。管理者は、リポジトリー・データベース表への読み取りおよび書き込みの許可をアプリケーションに付与する必要があります。
(1) >>-------java--com.ibm.pdq.tools.ManageRepository---------------> >--+- -revoke-+-------------------------------------------------> '- -grant--' .-,----------------. V | >----"--grantees--(----authorization-ID-+--) -"-----------------> >-- -privilege--+-tableAccess----------+------------------------> | (2) | '-------executePackage-' >-- -accessLevel -+-APPLICATION-+--| connection information |---> '-MANAGER-----' >--+--------+--+-------------------------------------------+--->< '- -help-' '- -generateScriptOnly--path-to-output-file-' connection information |-- -repositoryURL--URL- to-repository-database-----------------> >-- -repositoryUsername--user-ID-- -repositoryPassword--password--> >-- -repositoryDriverClass--driverclass-------------------------> >--+-------------------------------------------+----------------| | (3) .-IBMPDQ------. | '------- -repositorySchema--+-schema-name-+-'
以下のリストでは、サポートされている ManageRepository オプションおよび変数について説明しています。
-revoke オプションでは、ロールを指定する必要はありません。
"grantees(test1, test2, user1)"
PUBLIC を ID として指定できます。
authorization-ID とデータベース・ユーザー ID の表記では、大/小文字の別が同じでなければなりません。 例えば、DB2® ユーザー ID が大文字で表記されている場合、authorization-ID も大文字で入力する必要があります。
通常のリポジトリーではなく、InfoSphere Optim Performance Manager リポジトリーが対象である場合、使用できるアクセス・レベルは MANAGER のみです。
スクリプトを確認して変更すると、データベース管理者はこのスクリプトを実行してリポジトリーを作成できるようになります。リポジトリーの作成後、-verify repository オプションを使用してリポジトリーを検査できます。
-bind packages オプションでは、コレクション名およびパッケージ名はユーティリティーにより選択され、ユーザーはこれを変更できません。
以下のリストでは、リポジトリー・データベースへの接続に必要な情報について説明しています。
リポジトリーのスキーマ名の指定については、使用上の注意を参照してください。
(1) >>-------java--com.ibm.pdq.tools.ManageRepository---------------> >--+- -export data-- -file--path-to-zip-file-name-+-------------> +- -extract runtimeGroup--| pureQuery data |---+ '- -import data-- -file--path-to-zip-file-name-' >-- -runtimeGroupId--group-ID-----------------------------------> >-- -runtimeGroupVersion--version-ID----------------------------> >--| connection information |-----------------------------------> >--+-----------------------------------------------+------------> | (2) | '-------| captured SQL connection information |-' >--+--------+-------------------------------------------------->< '- -help-' pureQuery data (3) |-------- -outputDirectory--path-to-directory-------------------> >--+----------------------------------------+-------------------> '- -pureQueryXml--pureQueryXML-file-name-' >--+------------------------------------------+-----------------> '- -pureQueryProperties--runtime-prop-file-' >--+------------------------------------------+-----------------> '- -optionsFileForConfigure--genProps-file-' >--+--------------------------------------+---------------------> '- -optionsFileForBind -bindProps-file-' >--+------------------------------+-----------------------------| '- -incrementalCapture--prefix-' connection information |-- -repositoryURL--repository-database-URL---------------------> >-- -repositoryUsername--user-ID-- -repositoryPassword--password--> >-- -repositoryDriverClass--driverclass-------------------------| captured SQL connection information |-- -incrementalRepositoryURL--repository-database-URL----------> >-- -incrementalRepositoryUsername--user-ID-- -incrementalRepositoryPassword--password--> >-- -incrementalRepositoryDriverClass--driverclass--------------> >--+-------------------------------------------+----------------| | (4) .-IBMPDQ------. | '------- -repositorySchema--+-schema-name-+-'
以下のリストでは、サポートされている ManageRepository オプションおよび変数について説明しています。
Data Studio のエクスポート機能によってデータをエクスポートしたときに、エクスポート対象として複数の pureQuery プロジェクトを選択した場合は、最後のプロジェクトの pureQuery データのみが、-runtimeGroupId オプションで指定したランタイム・グループにインポートされます。
以下のリストでは、pureQuery データ・オプションについて説明します。
testApp_1.pdqxml
testApp_2.pdqxml
キャプチャーされた SQL データは、pureQueryXML データを含むリポジトリーとは別のリポジトリーから取り出すことができます。キャプチャーされた SQL データベースを 含むリポジトリーのコマンド行に関する接続情報を指定してください。
以下のリストでは、リポジトリー・データベースへの接続に必要な情報について説明しています。
リポジトリーのスキーマ名の指定については、使用上の注意を参照してください。
extract runtimeGroup オプションと共にのみ使用されます。pureQuery データを抽出するときに、キャプチャーされた SQL を含むリポジトリーが、他の pureQuery データとは別個のリポジトリー・データベース内にある場合があります。 以下のリストでは、キャプチャーされた SQL を含むリポジトリー・データベースへの接続に必要な接続情報について説明しています。
ManageRepostiory -report pureQueryXMLChanges オプションは、2 つの pureQueryXML ファイルの違いの HTML レポートを作成します。
ManageRepository ユーティリティーが比較する pureQueryXML ファイルは、ファイル・システム上に置かれている必要があります。データベースへの接続が必要です。
(1) >>-------java--com.ibm.pdq.tools.ManageRepository---------------> >-- -report pureQueryXMLChanges---------------------------------> >-- -oldPureQueryXml--pureQueryXML-file-------------------------> >-- -newPureQueryXml--pureQueryXML-file-- -file--report-file----> >--| connection information |---------------------------------->< connection information |-- -repositoryURL--URL-to-repository-database------------------> >-- -repositoryUsername--user-ID-- -repositoryPassword--password--> >-- -repositoryDriverClass--driverclass-------------------------> >--+-------------------------------------------+----------------| | (2) .-IBMPDQ------. | '------- -repositorySchema--+-schema-name-+-'
以下のリストでは、レポートの生成に使用する ManageRepository のオプションと変数について説明しています。
以下のリストでは、リポジトリー・データベースへの接続に必要な情報について説明しています。
リポジトリーのスキーマ名の指定については、使用上の注意を参照してください。
これらのプロパティーについては、runtimeGroupActivationCheckInterval プロパティーと、propertiesRefreshInterval プロパティーを参照してください。
また、pureQuery Runtime を使用して pureQuery データを取得および格納している場合にも、pureQuery Runtime プロパティー repositorySchema にスキーマ名を指定する必要があります。 例えば、リポジトリーを作成してスキーマ名を指定したとします。 pureQuery Runtime プロパティー finalRepositoryProperties を使用してそのリポジトリーを指定するときには、pureQuery Runtime プロパティー repositorySchema を使用してスキーマも指定する必要があります。
オプション -repositorySchema を指定して作成したリポジトリーにアクセスできるのは、pureQuery Java アプリケーションのみです。
オプション –delete repository を指定して ManageRepository ユーティリティーを実行することによってリポジトリーを削除しても、そのリポジトリーのバッファー・プールや表スペースは削除されません。 ManageRepository ユーティリティーでは、リポジトリーのバッファー・プールおよび表スペースをドロップするための SQL ステートメントを生成できます。 ManageRepository ユーティリティーを、オプション –delete repository、-generateScriptOnly、-repositorySchema を指定して実行してください。 SQL スクリプト・ファイルのコメントに、バッファー・プールおよび表スペースをドロップするための SQL ステートメントが含まれています。
pureQuery Runtime バージョン 3.1.1 およびそれより前のバージョンでは、ManageRepository ユーティリティーでリポジトリーを削除すると、そのリポジトリーのバッファー・プールおよび表スペースが削除されます。
静的 SQL をサポートするプラットフォームでは、-grant privilege オプションおよび -privilege EXECUTEPACKAGE オプションを指定すると、静的にバインドされたステートメントを使用してアプリケーションがリポジトリーにアクセスできるようになります。 静的 SQL をサポートするプラットフォームでは、-bind packages の発行後に、ManageRepository ユーティリティーにより、バインドされたパッケージを使用するか、動的 SQL ステートメントを発行することができます。バインドされたパッケージが存在しないか、バインドされたパッケージの実行特権をユーザーが持っていない場合に、ManageRepository は動的 SQL を使用してリポジトリー・データベース表にアクセスします。
動的プラットフォームでは、-grant privilege オプションおよび -privilege TABLEACCESS オプションを指定すると、基礎となるリポジトリー・データベース表に動的アプリケーションがアクセスできるようになります。 静的 SQL をサポートしていないプラットフォームで使用できるオプションは、このオプションのみです。
InfoSphere Optim Performance Manager および InfoSphere Optim Performance Manager Extended Insight では、pureQueryXML データを使用することができます。 ManageRepository ユーティリティーを使用して、InfoSphere Optim Performance Manager リポジトリーに pureQueryXML データをアップロードできます。
ManageRepository ユーティリティーを使用して InfoSphere Optim Performance Manager リポジトリーにアップロードできるのは pureQueryXML データのみです。 pureQuery ランタイム・プロパティーなどの他のデータはアップロードできません。
ManageRepository ユーティリティーを使用して、InfoSphere Optim Performance Manager リポジトリーでランタイム・グループを作成、更新、削除、およびリストすることができます。 その他の ManageRepository コマンドはサポートされていません。
| リポジトリー・タイプ | リポジトリー・パッケージ名 | マネージャー・レベル特権 (完全) | アプリケーション・レベル特権 (制限付き) |
|---|---|---|---|
| pureQueryRuntimeOnly | AMDL | X | |
| pureQueryRuntimeOnly or pureQueryOnly | AMDA | X | X |
| pureQueryOnly | AMD | X |
create user IBMPDQ identified by password
リポジトリーを作成する場合は、データベースに対する管理特権を持つすべてのユーザーがリポジトリーを作成できます。
java com.ibm.pdq.tools.ManageRepository
-create repository -repositoryType pureQueryOnly
-repositoryURL jdbc:db2://test.ora.com:17593/test
-repositoryUsername tiger
-repositoryPassword testpwd
-repositoryDriverClass oracle.jdbc.driver.OracleDriver
SQL ステートメントを変更してスクリプトを実行する場合は、-verify repository オプションを使用してリポジトリーを検査できます。
カスタマイズされたスクリプトを使用してリポジトリーを作成する場合、カスタマイズされたスクリプトを使用してそのリポジトリーを削除する必要があります。 リポジトリーを削除するコマンドで -generateScriptOnly を指定することにより、リポジトリーを削除するためのスクリプトを作成します。 このスクリプトを実行する前に、リポジトリーの作成に使用したスクリプト内の、変更されたオブジェクト名を変更してください。
db2 connect to sample
db2 -tvf filename
DB2 コマンド行については、DB2 インフォメーション・センターの 『コマンド行プロセッサー (CLP)』を 参照してください。
java com.ibm.pdq.tools.ManageRepository
-create repository -repositoryType pureQueryOnly
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
以下のコマンドは、データベースに対する接続を作成し、
そのデータベース内にリポジトリーを作成できる SQL スクリプトを生成します。java com.ibm.pdq.tools.ManageRepository
-create repository -repositoryType pureQueryOnly
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-generateScriptOnly D:¥test¥scripts¥createtest.sql
java com.ibm.pdq.tools.ManageRepository –delete repository
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
java com.ibm.pdq.tools.ManageRepository
-create repository -repositoryType pureQueryOnly
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositorySchema PDQTEST
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
java com.ibm.pdq.tools.ManageRepository –delete repository
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositorySchema PDQTEST
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
java com.ibm.pdq.tools.ManageRepository –delete repository
-repositoryURL jdbc:db2://test.user.com:17593/SAMPLE
-repositoryUsername mytestid
-repositoryPassword testpwd
-repositorySchema PDQTEST
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-generateScriptOnly createtest.sql