IBM DB2 クエリー・パトローラー 使用者の手引き

QueryEnabler の使用

この項では、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)」ウィンドウが開きます。 たとえば、次のようになります。

「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)」ウィンドウが開きます。 たとえば、次のようになります。

すぐに実行するよう選択された照会の「照会の進行 (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)」ウィンドウが開きます。 たとえば、次のようになります。

照会の「スケジュール (Schedule)」ウィンドウ

照会をスケジュールするには、以下のステップを実行します。

ステップ 1.

「実行の設定 (Occurs)」ボックスで、 この照会をいつ実行するかを定義します。

照会の実行時間を定義するには、以下のステップを実行します。

  1. 「間隔 (Interval)」ドロップダウン・ボックスをクリックし、 実行依頼した照会の間隔を選択します。

    照会の間隔と頻度を指定することにより、柔軟なスケジュールが可能になります。 これを使って、ジョブを実行依頼する時を定義することができます。 選択する間隔に応じて、頻度オプションは変化します。 間隔と頻度の特性を組み合わせることにより、 実質的にどんな照会スケジュールでも選択できます。

    以下の間隔のいずれかを選択します。

    一回だけ (One time only)

    この照会を一回だけ実行することを指定します。

    たとえば、固定した一時点について定義されたある仮定を検証するために、 照会を実行するとします。 この場合、2000 年 7 月 10 日に一度だけ照会を実行できるかもしれません。

    時間単位 (Hourly)

    この照会を時間単位のスケジュールで実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、時刻とコール・センターが受けた電話の量との関係を調べるために、 照会を実行するとします。 この場合、12 時間ごとに (朝と夕方に 1 回ずつ) 照会を実行できるかもしれません。

    日単位 (Daily)

    この照会を日単位のスケジュールで実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、支払期限を 3 日過ぎた勘定と、 最終的に集金機関に送られた勘定との相関関係を調べるために照会を実行するとします。 この場合、照会を 3 日おきに実行できます。

    週単位 (Weekly)

    この照会を週単位のスケジュールで実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、 特定の曜日は他の曜日よりも株価が変動しやすいという見方が妥当かどうかを調べるために、 照会を実行するとします。 この場合、毎週火曜日に照会を実行できるかもしれません。

    月単位 (日付) (Monthly (Dates))

    この照会を特定の日に月単位で実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、デパートにおける消費者の製品需要と、 消費者がクレジット・カードの請求書を受け取る日付との関連を定義するために照会を実行するとします。 この場合、照会を毎月 10 日に実行できるかもしれません。

    月単位 (曜日) (Monthly (Days))

    この照会を特定の曜日に月単位で実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、 株式オプションの期限が切れる日の株式の取り引き高を調べるために照会を実行するとします。 この場合、照会を毎月第 3 金曜日に実行できます。

    年単位 (Yearly)

    この照会を年単位で実行することを指定します。 照会の頻度、開始日付、終了日付を指定できます。

    たとえば、予想した年末の成果と、 年末における実際の成果を比べるために照会を実行するとします。 この場合、照会を年に 1 回実行できます。

  2. 「頻度 (Frequency)」ドロップダウン・ボックスをクリックし、 選択した間隔レベルと共に使用する、適切な頻度を選択します。 「間隔 (Interval)」ドロップダウン・ボックスで選択した間隔によっては、 頻度オプションが変わることがあります。

ステップ 2.

ここまでで指定した間隔や頻度のオプションに基づき、 照会を実行できるようにする日時を指定します。 選択する日時は、照会を実行するときの一連の時間設定に組み込まれます。

たとえば、毎月第 4 火曜日に照会を実行するよう定義しますが、 2001 年 12 月 10 日までは、この条件を実行しないという場合があります。 この照会の開始日を月の第 4 火曜日に指定した場合、 このことが照会のスケジュールに組み込まれます。

日付を定義するときには、「日付 (Date)」フィールドをクリックし、 この照会の開始日を入力します。 さらに、「日付 (Date)」ドロップダウン・ボックスもクリックします。 カレンダーが開くので、そこから日付を選択することができます。 たとえば、次のようになります。

カレンダー

時間を定義するときには、「時間 (Time)」フィールドをクリックし、 この照会の開始時間を入力します。 また、「時間 (Time)」スピン・ボタンを使い、 照会を開始する時間を調整することも可能です。

ステップ 3.

前のステップで用いた方法と同じやり方で、指定した間隔と頻度に基づき、 照会の実行を停止する日時を指定します。 選択する日時は、照会を実行するときの一連の時間設定に組み込まれます。

たとえば、2001 年 12 月 10 日以降は毎月第 4 火曜日に照会を実行するよう定義しますが、 2003 年 12 月 10 日以降はこの条件を実行しないという場合があります。

ステップ 4.

「追加>> (Add>>)」をクリックします。 照会のスケジュールが、 「スケジュール・リスト (Schedule list)」ボックスに移動します。

スケジュールした項目を変更するには、 「スケジュール・リスト (Schedule list)」ボックスから照会を選択し、 必要な変更を行ない、「変更 (Change)」をクリックします。

「スケジュール・リスト (Schedule list)」ボックスから照会を削除するには、 照会を選択して「削除 (Remove)」をクリックします。

ステップ 5.

「OK」をクリックします。 照会は、指定した間隔、頻度、時間、そして日付に実行するようスケジュールされます。

照会に定義したスケジュールについては、後でそのスケジュールをインポートして、 同じ照会または別の照会に対して使うことができるように、保管しておくことができます。 この機能を使えば、しばしば使われるスケジュールを再定義する時間を節約できます。 スケジュールを保管するには、 「別名保管 (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)」ウィンドウが開きます。 たとえば、次のようになります。

「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 の紹介を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]