実行可能リスト情報

作業単位情報を収集する場合、 オプションで、各作業単位の一部として実行されるステートメントの実行可能 ID のリストも収集することができます。

実行可能 ID に関する情報は、 未フォーマット・イベント (UE) 表または通常の表に書き込まれます。この情報をキャプチャーするには、次の 2 つの方法があります。
  • CREATE WORKLOAD または ALTER WORKLOAD ステートメントの COLLECT UNIT OF WORK DATA 節に EXECUTABLE LIST オプションを使用して、 特定のワークロードについての情報を収集します。 このステートメントで指定したワークロードの下で実行された作業単位についての情報が、 実行可能 ID を含め、アクティブな作業単位 (UOW) イベント・モニターに送られます。
  • 構成パラメーターを使用して、データ・サーバーで実行されたすべての作業単位についての情報を、 実行可能情報を含め、アクティブな作業単位イベント・モニターに送ります。 実行可能 ID 情報を収集するには、mon_uow_data 構成パラメーターに BASE を設定し、mon_uow_execlist 構成パラメーターに ON を設定します。
実行可能リストのために、次のデータが収集されます。
作業単位レベル
executable_list_size
ある特定の作業単位の実行可能 ID リスト内にある項目の数
executable_list_truncated
リストが切り捨てられたかどうかを示す YES または NO の値。処理中に実行可能リスト全体を格納するために十分なメモリーがない場合、 リストは切り捨てられる可能性があります。
実行可能 ID リスト
executable_id (executable_id 実行可能 ID : モニター・エレメント)
実行された SQL ステートメント・セクションを一意的に識別する、データ・サーバーで生成された不透明なバイナリー・トークン。
num_executions (num_executions - ステートメント実行回数 : モニター・エレメント)
SQL ステートメントが実行された回数。
rows_read (rows_read - 読み取り行数 : モニター・エレメント)
表から読み取られた行の数。
total_cpu_time (total_cpu_time - 合計 CPU 時間 : モニター・エレメント)
データベース内で使用された CPU 時間の合計。 これは、ユーザーとシステムの両方の CPU 時間の合計を表します。この値の単位はマイクロ秒です。
total_act_time (total_act_time - 合計アクティビティー時間 : モニター・エレメント)
アクティビティーの実行にかかった時間の合計。 この値の単位はミリ秒です。
total_act_wait_time (total_act_wait_time - 合計アクティビティー待機時間 : モニター・エレメント)
アクティビティーの処理中に、データベース・サーバー内での待機にかかった合計時間。値の単位はミリ秒です。
lock_wait_time (lock_wait_time - ロック待機中の時間 : モニター・エレメント)
ロック待機に費やされた合計経過時間。 値はミリ秒単位で示されます。
lock_waits (lock_waits - ロック待機数 : モニター・エレメント)
アプリケーションまたは接続がロックを待機した合計回数。
total_sorts (total_sorts - ソート合計 : モニター・エレメント)
実行されたソートの合計数。
post_threshold_sorts (post_threshold_sorts - ポストしきい値ソート : モニター・エレメント)
ソート・ヒープしきい値に達した後でヒープを要求したソートの数。
post_shrthreshold_sorts (post_shrthreshold_sorts - ポスト共有しきい値ソート : モニター・エレメント)
ソート・メモリー・スロットル・アルゴリズムによってスロットルして戻されたソートの合計数。スロットルされたソートとは、ソート・メモリー・マネージャーから要求されたメモリー よりも少ないメモリーが付与されたソートです。
sort_overflows (sort_overflows - ソート・オーバーフロー : モニター・エレメント)
ソート・ヒープを使い果たし、 一時記憶用のディスク・スペースが必要になった可能性のあるソートの合計数。

UE 表への実行リストの書き込み

UOW イベント・モニターで基本的なデータと実行可能 ID リスト・データを収集する場合、 UE 表には少なくとも 2 つの別々のレコードが書き込まれます。 最初のレコードには、基本的な UOW データを含む UOW イベントに関する情報が入っています。2 つ目のレコードには、 実行可能 ID リストのデータを含む UOW_EXEC_LIST イベントです。 この 2 つ目のレコードは、複数のレコードで構成される場合があります。 これは、単一の UOW にユニークな実行可能 ID が多数存在する場合があるためです。 各イベントが、使用可能なインライン LOB スペースに収まるように、 これらのレコードは別々の行として UE 表に書き込まれます。UE 表のフォーマット用インターフェースを使用して、これらのイベントの情報をマージすることができます。実行可能 ID リストを収集しない場合、 関連付けられたレコードが作成されることはありません。表に行は含まれません。

通常の表への実行リストの書き込み

イベント・モニターの出力に 通常の表を使用する場合、 実行可能リスト情報は、uow_executable_list 論理データ・グループ の一部としてキャプチャーされます。 各作業単位が完了すると、1 つ以上の行が UOW_EXECUTABLE_LIST_evmon_name 表に追加されます。 この表には、論理データ・グループ内のモニター・エレメントごとに 1 つの列があります。 この表に追加される行数は、作業単位の一部として実行された固有な実行可能 ID の数に依存します。

実行可能リストの出力

作業単位イベント・モニターが UE 表に書き込む場合、 イベント・モニターは、実行情報を収集すると 2 つのレコードを UE 表に書き込みます。 UE 表のデータを表示するための各インターフェースは、 2 つの UE 表レコードに含まれている情報を表示するメカニズムを備えています。 db2evmonfmt ツールは各レコードの情報を 1 つのレポートに結合します。EVMON_FORMAT_UE_TO_TABLES プロシージャーを使用すると、 結合可能なリレーショナル表が生成されます。 実行可能リスト情報は、表 UOW_EXECUTABLE_LIST に入っています。 EVMON_FORMAT_UE_TO_XML 表関数は、 両方のレコードの情報を含む 1 つの XML 文書を生成します。詳しくは、作業単位イベント・モニターによりキャプチャーされたイベント・データへのアクセスを参照してください。

イベント・モニターがリレーショナル表に直接書き込む場合、 実行可能リスト情報は、表 UOW_EXECUTABLE_LIST_evmon に書き込まれます。

パーティション・データベース環境の場合、 実行可能 ID リストは、コーディネーター・エージェント・メンバーやデータ・メンバーを含め、メンバーごとに生成されます。 Db2® pureScale® 環境の場合、 リストはコーディネーター・メンバーから生成されます。これは、 非パーティション構成の場合と似ています。

以下のサンプルの情報は、 1 つの UOW 内で 5 つの異なる SQL ステートメント・セクションを実行するアプリケーションについて収集されたものです。この出力は、サンプルの列を使用して論理的な表示内容を示しています。 実際の出力は、実行するツールまたは照会によって異なります。
EXECUTABLE_ID                          NUM_EXECUTIONS ROWS_READ TOTAL_CPU_TIME
------------------------------------   -------------- --------- --------------
x'01007A00000020020081126171554951791'              1     23456          76888
x'01007900000020020081126171533551120'             55       345            768
x'01007C00000020020081126171720728997'            234        67            232
x'01007B00000020020081126171657272914'           3456       347           1223
x'01007D00000020020081126172409987719'          22242      2244         432444
この例では、 実行可能 ID リスト内に、実行された 5 つの異なるセクションに対応する 5 つのエントリーがあります。5 つのセクションの実行回数は、 NUM_EXECUTIONS 列に示されているようにそれぞれ異なりますが、 ユニークなセクションごとにエントリーが 1 つのみあります。最初の行は、 1 回の実行だけで過度な CPU 時間が消費されているため、 問題のあるアクティビティー・ステートメントを示している可能性があります。