この項では、QueryEnabler および照会の実行依頼時に開くウィンドウの概要を説明します。 DB2 クエリー・パトローラー・サーバーへ経路指定する照会を実行依頼する前に、 管理者が dqpstart コマンドを使ってサーバーを始動したことを確認する必要があります。 管理者だけが、DB2 クエリー・パトローラー・サーバーを始動する権限を持っています。 詳細については、DB2 クエリー・パトローラー 管理の手引き を参照してください。
アプリケーションから実行依頼された照会が、 ユーザー・プロファイルに管理者が設定した管理しきい値を超過すると、 その照会は QueryEnabler によってトラップされ、 DB2 クエリー・パトローラー・サーバーへ経路指定されます。 DB2 クエリー・パトローラー・サーバーはジョブ表を検索し、 この照会が以前に実行依頼されているかどうか、 そしてこの照会の結果が DB2 クエリー・パトローラーのデータベースに格納されているかどうかを確認します。
実行依頼された照会がジョブ表に見つからない場合は、 「QueryEnabler: 新規照会 (QueryEnabler: New Query)」ウィンドウが開きます。 実行依頼された照会がジョブ表に存在する場合は、 「QueryEnabler: 結果セット (QueryEnabler: Result Sets)」ウィンドウが開きます。
以下の項では、それぞれのウィンドウを詳しく説明しています。
初めて照会を実行依頼する場合は、 「QueryEnabler: 新規照会 (QueryEnabler: New Query)」ウィンドウが開きます。
たとえば、以下のコマンドを入力して新しい照会を作成し、 部門 20 に関係するすべてのスタッフを選択するとします。
db2 terminate db2 connect to sample db2 "select * from paulz.staff where dept = 20"
このコマンドを入力すると、QueryEnabler は照会をトラップします。 以前にこの照会を実行したことがないので、 「QueryEnabler: 新規照会 (QueryEnabler: New Query)」ウィンドウが開きます。 たとえば、次のようになります。
実行依頼した照会が、 「SQL ステートメント (SQL statement)」ボックスに示されます。 「QueryEnabler: 新規照会 (QueryEnabler: New Query)」ウィンドウで、 この照会の実行依頼オプションを定義し、実行依頼してすぐに実行するか、 あるいは別のときに実行するようスケジュールすることができます。
照会を実行依頼するときには、照会の結果を別の宛先にリダイレクトする、 照会を優先順位付けする、 または照会のコスト分析を実行しないなどのオプションを指定することができます (自分のユーザー・プロファイルにその権限がある場合)。 これらのオプションは、 実行する照会を実行依頼またはスケジュールする前に 定義しなければなりません。
管理者が照会で生成される結果セットのために別の宛先を設定している場合、 「結果の宛先 (Results destination)」ドロップダウン・ボックスをクリックし、 この照会の結果セットの別の宛先を選択することができます。
照会のための別の宛先がないときには、このフィールドは使用できず、 デフォルトの「ここに結果を戻す (Return Results Here)」になります。 この設定では、照会の結果セットを格納するために、 DB2 表が使われます。 この宛先を選択する場合、 「PUBLIC に結果セットへのアクセス権限を付与 (Grant PUBLIC access to result set)」チェック・ボックスをチェックすれば、 PUBLIC にこの宛先へのアクセス権限を付与することができます。これにより、 すべてのユーザーがその結果セットへアクセスできるようになります。
「優先度 (Priority)」ドロップダウン・ボックスをクリックし、 該当する優先度を選択すれば、照会の優先順位を任意に設定できます。 デフォルトでは、「低 (Low)」、「中 (Normal)」、 および「高 (High)」の 3 つの異なる優先順位があります。 このような優先順位は、DB2 クエリー・パトローラー・サーバーの管理者が定義します。 詳細については、DB2 クエリー・パトローラー 管理の手引き を参照してください。
デフォルトでは、「照会コスト分析 (Cost analyze Query)」チェック・ボックスが選択されています。 ユーザー・プロファイルの設定に、 任意選択でコスト分析を要求する権利が含まれている場合、 このチェック・ボックスを選択解除し、 実行依頼する照会のコスト分析を省略できます。 詳細については、DB2 クエリー・パトローラー 管理の手引き を参照してください。
コスト分析が実行されると、照会コストの見積もりが生成され、 ユーザー・プロファイルの「ユーザーしきい値 (User Threshold)」値と比較されます。 管理者は、DB2 クエリー・パトローラー環境内のユーザーのそれぞれに、 ユーザーしきい値レベルを決定します。 ユーザーまたはグループに定義されたユーザーしきい値を変更できるのは、 管理者だけです。 詳細については、DB2 クエリー・パトローラー 管理の手引き を参照してください。
見積もられるコストがユーザーに設定されている限界を超過する場合、 その照会の状況は「保留 (Held)」に変わります。 実行依頼したジョブが保留になる場合、照会を実行するには、 管理者かオペレーターに、ジョブの状況を変更してもらう必要があります。 ジョブの状況は、QueryMonitor を使用して変更できます。 詳細については、QueryMonitor の紹介を参照してください。
「取り消し (Cancel)」をクリックすれば、 照会の実行依頼を取り消すことができます。
照会のためのすべてのオプションを定義したら、照会を実行依頼するか、 または後で実行するようスケジュールすることができます。 照会を実行するときには、以下の項を参照してください。
実行依頼した照会を実行することを選択できます。 実行依頼した照会をすぐに実行するには、 「すぐに実行 (Run Now)」をクリックします。 「照会の進行 (Query in Progress)」ウィンドウが開きます。 たとえば、次のようになります。
この時点で、照会は DB2 クエリー・パトローラー・サーバーの制御下に入ります。 サーバーは、照会に関連したコストが、 管理者によって設定されたしきい値を超過しない限り、 照会を実行します。
「照会の進行 (Query in Progress)」ウィンドウには、 実行依頼した照会の状況と経過時間が示されます。 「照会の状況 (Query status)」フィールドの中で、 実行中の照会の状況が順次更新されます。 DB2 クエリー・パトローラー・サーバーは実行依頼された照会にリソースを割り当てて、 順位付けをするため、 照会の状態が変更されるには少し時間がかかることがあります。
たとえば照会の状況が、「評価中 (Estimating)」から「スケジュール設定 (Scheduled)」に変わるかもしれません。「スケジュール設定 (Scheduled)」状態にある照会は、 より高い優先順位の照会が完了するまで保留にされます。 リソースが使用可能になって、照会が実行できるようになると、 状況は「実行中 (Running)」に変わります。
照会の実行を続け、アプリケーションに戻るには、 「照会の解除 (Release Query)」をクリックします。 照会を解除すると、制御がアプリケーションに戻ります。 照会の処理は続けられ、DB2 クエリー・パトローラー・サーバーのデータベースは、 照会の結果セットに従って更新されます。
照会を完了するのに長い時間がかかり、 結果セットに含まれる情報をすぐに必要としない場合には、 照会を解除することができます。 同じ照会を後で実行依頼すると、DB2 クエリー・パトローラー・サーバーはこの照会を認識し、 「QueryEnabler: 結果セット (QueryEnabler: Result Sets)」ウィンドウが開きます。 ユーザーは、この照会と関連した結果セットを必要な時に検索できます。 同じ照会を実行依頼すると、 その照会を以前に実行依頼したときに生成された、 照会の条件を満たす結果表に対して表スキャンが実行されます。
一般に、管理者は、多数の照会を実行依頼してから解除することにより、 データウェアハウスのユーザーが後で実行依頼する照会に備えておくことができます。 以前に DB2 クエリー・パトローラー・サーバーで処理した照会の実行依頼についての詳細は、 以前に実行依頼した照会の実行依頼を参照してください。
照会を取り消すには、「取り消し (Cancel)」をクリックします。
照会の処理が正常に完了したら、クエリー・パトローラーのデータベースに、 結果セットの表が作成されます。 照会を解除しなかったのであれば、この結果セットがアプリケーションに戻されます。 たとえば、次のようになります。
ID NAME DEPT JOB YEARS SALARY COMM ------ --------- ------ ----- ------ --------- --------- 10 Sanders 20 Mgr 7 18357.50 - 20 Pernal 20 Sales 8 18171.25 612.45 80 James 20 Clerk - 13504.60 128.20 190 Sneider 20 Clerk 8 14252.75 126.50 4 record(s) selected.
実行依頼した照会のモニター方法の詳細は、 QueryMonitor の紹介を参照してください。
実行依頼した照会を、日時を組み合わせることによって、 後で実行するようスケジュールすることができます。 たとえば、照会を毎週月曜日の朝 9:00 に実行することができます。 照会をスケジュールするには、 「スケジュール (Schedule)」をクリックします。 「スケジュール (Schedule)」ウィンドウが開きます。 たとえば、次のようになります。
照会をスケジュールするには、以下のステップを実行します。
照会に定義したスケジュールについては、後でそのスケジュールをインポートして、 同じ照会または別の照会に対して使うことができるように、保管しておくことができます。 この機能を使えば、しばしば使われるスケジュールを再定義する時間を節約できます。 スケジュールを保管するには、 「別名保管 (Save As)」をクリックします。 定義したスケジュールは、 拡張子が .cal のスケジュール・ファイルとして保管されます。 定義したスケジュールをインポートするには、 「インポート (Import)」をクリックします。
選択した照会のスケジュールを取り消す場合には、 「取り消し (Cancel)」をクリックします。 「QueryEnabler: 新規照会 (QueryEnabler: New Query)」ウィンドウに戻ります。
実行依頼した照会のモニター方法の詳細は、 QueryMonitor の紹介を参照してください。
以前に実行依頼した照会を実行依頼する場合、 その照会が DB2 クエリー・パトローラー・サーバーのジョブ表に格納されていれば、 QueryEnabler はその照会をトラップし、 「QueryEnabler: 結果セット (QueryEnabler: Result Sets)」ウィンドウが開きます。
たとえば、以下のコマンドを入力して、 初めて照会を実行依頼する場合で実行依頼した照会を実行依頼するとします。
db2 terminate db2 connect to sample db2 "select * from paulz.staff where dept = 20"
このコマンドを入力すると、照会はトラップされます。 この照会は以前に実行依頼されており、DB2 クエリー・パトローラー・サーバーのジョブ表に存在するので、 「QueryEnabler: 結果セット (QueryEnabler: Result Sets)」ウィンドウが開きます。 たとえば、次のようになります。
実行依頼した照会が、 「SQL ステートメント (SQL statement)」ボックスに示されます。 「QueryEnabler: 結果セット (QueryEnabler: Result Sets)」ウィンドウで、 以前に実行依頼した同一の照会からの結果セットを戻すか、 照会を再実行依頼して別の実行依頼オプションを指定するか、 あるいは別のときに実行するようにスケジュールできます。
この照会の実行対象となるデータに変更がある場合、通常は、 照会を再実行依頼します。 たとえば、それぞれのデータウェアハウスに対して照会を実行して、 特定の製品のターゲットとなるマーケットを判別したものの、 元の照会を実行した後に、 そのデータウェアハウスが更新されて、人口統計のデータが新しくなった場合、 それぞれの照会を再実行依頼して、更新されたデータを取り出すことができます。
「取り消し (Cancel)」をクリックすれば、 実行依頼した照会を取り消すことができます。 また、進行中のジョブも取り消せます。 照会の状態が「評価中 (Estimating)」、 「スケジュール設定 (Scheduled)」、 または「待ち行列 (Queued)」である場合、 「結果を戻すジョブの選択 (Select a job to return results from)」ボックスでジョブを選択し、 マウスの右ボタンをクリックし、 「取り消し (Cancel)」オプションを選択します。 すでに実行依頼されている照会の取り消しは、 通常は QueryMonitor を使って行なわれます。
この照会に関連した結果セットをアプリケーションへ戻すには、 「結果を戻すジョブの選択 (Select a job to return results from)」ボックスから、 有効な時間に実行依頼されたジョブを選択し、 「結果をすぐに戻す (Return Results Now)」をクリックします。
「結果を戻すジョブの選択 (Select a job to return results from)」ボックスには、 同じ照会を含み、以前に実行依頼されたすべてのジョブのリストが示されます。 正常に完了したジョブには、データウェアハウスのデータに基づいた、 時間が関係した照会の結果セットが含まれています。 データウェアハウスが更新されると、結果セットのデータは変わるか、 古くなってしまう可能性があるので、注意してください。 データが最新でなくなり、正しくない推論が生み出される状態を、 ダーティー ということがあります。 結果セットのデータがダーティーになっているように思われる場合、 以前に実行依頼したジョブを選択し、マウスの右ボタンをクリックし、 「結果の削除 (Drop Results)」オプションを選択して、 そのジョブに関係した結果セットを削除することができます。
「結果をすぐに戻す (Return Results Now)」をクリックしたら、 照会の結果がアプリケーションに戻されます。 たとえば、次のようになります。
ID NAME DEPT JOB YEARS SALARY COMM ------ --------- ------ ----- ------ --------- --------- 10 Sanders 20 Mgr 7 18357.50 - 20 Pernal 20 Sales 8 18171.25 612.45 80 James 20 Clerk - 13504.60 128.20 190 Sneider 20 Clerk 8 14252.75 126.50 4 record(s) selected.
照会を再実行依頼する場合は、 「新規照会の実行依頼 (Submit as New Query)」をクリックします。 「QueryEnabler: 新規照会 (QueryEnabler: New Query )」ウィンドウが開きます。 詳細については、初めて照会を実行依頼する場合を参照してください。
実行依頼した照会のモニター方法の詳細は、 QueryMonitor の紹介を参照してください。