カラム・オーガナイズ表のモニター・メトリック

モニター・エレメントによって、カラム・オーガナイズ表に対する照会に関連したデータベース・サーバーのワークロードを把握したり調整したりできます。 モニター・インターフェースを使用して、カラム・オーガナイズ表に対する照会に関連したワークロードをモニターするために必要な情報の大部分を取得できます。

注: TEMP または GBP を名前に含むエレメントは、すべて将来使用するために予約されています。

バッファー・プールの効率を評価するためのモニター・エレメント

一連のモニター・エレメントによって、カラム・オーガナイズ表のデータ・ページ入出力を行オーガナイズ表とは別にモニターできます。 ワークロードが行オーガナイズ表とカラム・オーガナイズ表の両方に影響を与えている場合でも、これらのモニター・エレメントを使用すれば、I/O のどれほどの部分がカラム・オーガナイズ表へのアクセスによるものなのかを確認できます。 これらのエレメントは、システムを調整するときにも役立ちます。例えば、カラム・オーガナイズ表を別の表スペースに入れるべきかどうか、あるいは別のバッファー・プールを使用するべきかどうか、といったことを判断するときに役立ちます。

モニター・エレメントは、以下のとおりです。
  • カラム・オーガナイズ・データ・ページの読み取り数と見つかったページ数 (論理ページと物理ページの総数) のカウンター:
    • POOL_COL_L_READS
    • POOL_TEMP_COL_L_READS
    • POOL_COL_P_READS
    • POOL_TEMP_COL_P_READS
    • POOL_COL_LBP_PAGES_FOUND
  • カラム・オーガナイズ・データ・ページの書き込み数のカウンター:
    • POOL_COL_WRITES
  • カラム・オーガナイズ・データ・ページの非同期読み取り/書き込み数と見つかったページ数のカウンター:
    • POOL_ASYNC_COL_READS
    • POOL_ASYNC_COL_READ_REQS
    • POOL_ASYNC_COL_WRITES
    • POOL_ASYNC_COL_LBP_PAGES_FOUND
  • モニター使用状況リストで報告される、表あたりのカラム・オーガナイズ・データ・ページの読み取り数のカウンター、および表ごとのステートメントあたりの読み取り数のカウンター:
    • OBJECT_COL_L_READS
    • OBJECT_COL_P_READS
    • OBJECT_COL_GBP_L_READS
    • OBJECT_COL_GBP_P_READS
    • OBJECT_COL_GBP_INVALID_PAGES
    • OBJECT_COL_LBP_PAGES_FOUND
    • OBJECT_COL_GBP_INDEP_PAGES_FOUND_IN_LBP

カラム・オーガナイズ表のデータに対するプリフェッチ要求をモニターするためのモニター・エレメント

カラム・オーガナイズ表にアクセスする照会のプリフェッチ・ロジックを使用することにより、各スレッドが照会実行時にアクセスする各列で読み取るページだけが非同期モードでフェッチされます。 特定の列のページがバッファー・プールで常に使用可能な状態になっている場合は、その列のプリフェッチが無効になり、それらのページを同期モードで読み取るようになった時点で、その列のプリフェッチが再び有効になります。

1 つのスレッドが同時にプリフェッチできるページ数は、アクセスする表スペースのプリフェッチ・サイズによって制限されていますが、複数のスレッドが同時にページをプリフェッチすることは可能です。

モニター・エレメントを使用すれば、プリフェッチャーに実行依頼されたカラム・オーガナイズ表のデータに対する要求の量と、ページが既にメモリーに入っていたためにプリフェッチャーが読み取りをスキップしたページの数を追跡できます。カラム・オーガナイズ表のデータを効率的にプリフェッチすることは、データ・スキャンの I/O コストを削減する意味で重要です。

カラム・オーガナイズ表のデータに対するプリフェッチ要求をモニターするためのモニター・エレメントは、以下のとおりです。
  • POOL_QUEUED_ASYNC_COL_REQS
  • POOL_QUEUED_ASYNC_TEMP_COL_REQS
  • POOL_QUEUED_ASYNC_COL_PAGES
  • POOL_QUEUED_ASYNC_TEMP_COL_PAGES
  • POOL_FAILED_ASYNC_COL_REQS
  • POOL_FAILED_ASYNC_TEMP_COL_REQS
  • SKIPPED_PREFETCH_COL_P_READS
  • SKIPPED_PREFETCH_TEMP_COL_P_READS
  • SKIPPED_PREFETCH_UOW_COL_P_READS
  • SKIPPED_PREFETCH_UOW_TEMP_COL_P_READS

列データのサイズを測定するためのモニター・エレメント

カラム・オーガナイズ表には、列データを格納する新しい表オブジェクトが関連付けられます。

列データのサイズを見積もるときに役立つモニター・エレメントは、以下のとおりです。
  • COL_OBJECT_L_SIZE
  • COL_OBJECT_P_SIZE
  • COL_OBJECT_L_PAGES

最初の 2 つのエレメントには、そのカラム・オーガナイズ・データ・オブジェクトの論理サイズと物理サイズが正確に反映されますが、より多くの測定のコストがかかります。使用中のスペースを計算しなければならないからです。 それらのエレメントは、ADMIN_GET_TAB_INFO 表関数で報告されます。COL_OBJECT_L_PAGES エレメントは既存の DATA_OBJECT_L_PAGES エレメントによく似ており、サイズ (ページ数 × ページ・サイズ) を見積もるための低コストの代替手段となりますが、見積もりが正確ではないこともあります。

データ編成に関する情報を報告するモニター・エレメント

モニター・エレメント TAB_ORGANIZATION は、表のデータ編成に関する情報を報告するものであり、MON_GET_TABLE 表関数によって返されます。

所要時間を測定するためのモニター・エレメント

所要時間のモニター・エレメント では、データベース・マネージャーがカラム・オーガナイズ表の処理に費やした時間に関する情報を確認できます。所要時間のエレメントは、おおまかに待ち時間エレメントと処理時間エレメントに分類できます。

所要時間の階層に追加されるモニター・エレメントは、以下のとおりです。
  • TOTAL_COL_TIME
  • TOTAL_COL_PROC_TIME
  • TOTAL_COL_EXECUTIONS

この 3 つのモニター・エレメントでは、すべてのカラム・オーガナイズ処理サブエージェントがカラム・オーガナイズ・データ処理に費やした合計時間がカウントされます。 TOTAL_COL_TIME エレメントは、すべてのカラム・オーガナイズ処理サブエージェントにおける経過時間の合計です。TOTAL_COL_PROC_TIME エレメントは、この合計経過時間のうち、測定された待機時間 (ロック待機や IO など) において カラム・オーガナイズ処理サブエージェントがアイドル状態になっていなかった時間を表します。 TOTAL_COL_EXECUTIONS エレメントは、ステートメントの実行時にカラム・オーガナイズ表のデータにアクセスした累計回数です。

TOTAL_COL_TIME の親エレメントは、TOTAL_SECTION_TIME です。 TOTAL_COL_PROC_TIME の親エレメントは、TOTAL_SECTION_PROC_TIME です。これらの親エレメントは、要求ディメンションでもアクティビティー・ディメンションでも同じです。

ハッシュされた GROUP BY 演算子のためのモニター・エレメント

カラム・オーガナイズ表の GROUP BY 演算子では、グループ化する方法としてハッシュ法が使用されます。ハッシュされた GROUP BY 演算子はソート・メモリーのコンシューマーです。以下のモニター・エレメントは、 ハッシュされた GROUP BY 操作中のソート・メモリーの消費量のモニターをサポートします。 これらのエレメントは、他のソート・メモリー・コンシューマーに対する既存のモニター・エレメントに似ています。
  • TOTAL_HASH_GRPBYS
  • ACTIVE_HASH_GRPBYS
  • HASH_GRPBY_OVERFLOWS
  • POST_THRESHOLD_HASH_GRPBYS
  • ACTIVE_HASH_GRPBYS_TOP

カラムナ・ベクトル・メモリーのためのモニター・エレメント

カラムナ・ベクトル・メモリーとは、カラム・オーガナイズ表に格納されたデータのベクトル処理で使用されるソート・ヒープ・メモリーのことです。 Db2® Cancun リリース 10.5.0.4 以降では、以下のモニター・エレメントを使用して、ソート・コンシューマーの使用するカラムナ・ベクトル・メモリーの量をモニターできます。
  • ACTIVE_COL_VECTOR_CONSUMERS
  • ACTIVE_COL_VECTOR_CONSUMERS_TOP
  • POST_THRESHOLD_COL_VECTOR_CONSUMERS
  • TOTAL_COL_VECTOR_CONSUMERS

さまざまなディメンションで集約した要求メトリックを取得するためのモニター・インターフェース

以下のモニター・インターフェースでは要求メトリックがレポートされます。
  • MON_GET_DATABASE
  • MON_GET_DATABASE_DETAILS
  • MON_GET_WORKLOAD
  • MON_GET_WORKLOAD_DETAILS
  • MON_GET_UNIT_OF_WORK
  • MON_GET_UNIT_OF_WORK_DETAILS
  • MON_GET_SERVICE_SUBCLASS
  • MON_GET_SERVICE_SUBCLASS_DETAILS
  • MON_GET_CONNECTION
  • MON_GET_CONNECTION_DETAILS
  • EVMON_FORMAT_UE_TO_XML
  • MON_FORMAT_XML_METRICS_BY_ROW
  • 作業単位イベント・モニター
  • 統計イベント・モニター
要求メトリック・インターフェースはすべて、以下のモニター・エレメントを返します。
  • POOL_COL_L_READS
  • POOL_TEMP_COL_L_READS
  • POOL_COL_P_READS
  • POOL_TEMP_COL_P_READS
  • POOL_COL_LBP_PAGES_FOUND
  • POOL_COL_WRITES
  • POOL_COL_GBP_L_READS
  • POOL_COL_GBP_P_READS
  • POOL_COL_GBP_INVALID_PAGES
  • POOL_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
  • POOL_QUEUED_ASYNC_COL_REQS
  • POOL_QUEUED_ASYNC_TEMP_COL_REQS
  • POOL_QUEUED_ASYNC_COL_PAGES
  • POOL_QUEUED_ASYNC_TEMP_COL_PAGES
  • POOL_FAILED_ASYNC_COL_REQS
  • POOL_FAILED_ASYNC_TEMP_COL_REQS
  • TOTAL_COL_TIME
  • TOTAL_COL_PROC_TIME
  • TOTAL_COL_EXECUTIONS
これらのエレメントのデータ・タイプはいずれも BIGINT です。これらのエレメントが報告されるのは、REQUEST METRICS 制御を BASE に設定した場合です。MON_GET_DATABASE インターフェースと MON_GET_DATABASE_DETAILS インターフェースの場合、REQUEST METRICS で制御されるのは、TOTAL_COL_TIME エレメント、TOTAL_COL_PROC_TIME エレメント、TOTAL_COL_EXECUTIONS エレメントの収集だけです。その他のエレメントが報告されるのは、OBJECT METRICS 制御を BASE に設定した場合です。

アクティビティー・メトリックを取得するためのモニター・インターフェース

アクティビティー・メトリックは、SQL ステートメントの実行時に測定される要求メトリックのサブセットです。

以下のモニター・インターフェースではアクティビティー・メトリックがレポートされます。
  • MON_GET_ACTIVITY
  • MON_GET_ACTIVITY_DETAILS
  • MON_GET_PKG_CACHE_STMT
  • MON_GET_PKG_CACHE_STMT_DETAILS
  • EVMON_FORMAT_UE_TO_XML
  • MON_FORMAT_XML_METRICS_BY_ROW
  • アクティビティー・イベント・モニター
  • パッケージ・キャッシュ・イベント・モニター
すべてのアクティビティー・メトリック・インターフェースは、以下のモニター・エレメントを返します。
  • POOL_COL_L_READS
  • POOL_TEMP_COL_L_READS
  • POOL_COL_P_READS
  • POOL_TEMP_COL_P_READS
  • POOL_COL_LBP_PAGES_FOUND
  • POOL_COL_WRITES
  • POOL_COL_GBP_L_READS
  • POOL_COL_GBP_P_READS
  • POOL_COL_GBP_INVALID_PAGES
  • POOL_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
  • POOL_QUEUED_ASYNC_COL_REQS
  • POOL_QUEUED_ASYNC_TEMP_COL_REQS
  • POOL_QUEUED_ASYNC_COL_PAGES
  • POOL_QUEUED_ASYNC_TEMP_COL_PAGES
  • POOL_FAILED_ASYNC_COL_REQS
  • POOL_FAILED_ASYNC_TEMP_COL_REQS
  • TOTAL_COL_TIME
  • TOTAL_COL_PROC_TIME
  • TOTAL_COL_EXECUTIONS
これらのエレメントのデータ・タイプはいずれも BIGINT です。これらのエレメントが報告されるのは、ACTIVITY METRICS 制御を BASE に設定した場合です。

データベース・オブジェクト・メトリックを取得するためのモニター・インターフェース

オブジェクト・メトリック・インターフェースでは、特定のデータベース・オブジェクトまたはデータベース全体についてのモニター・エレメントが報告されます。

  • MON_GET_DATABASE、MON_GET_DATABASE_DETAILS、MON_GET_BUFFERPOOL、および MON_GET_TABLESPACE 表関数は、以下のモニター・エレメントを返します。
    • POOL_COL_L_READS
    • POOL_TEMP_COL_L_READS
    • POOL_COL_P_READS
    • POOL_TEMP_COL_P_READS
    • POOL_COL_LBP_PAGES_FOUND
    • POOL_COL_WRITES
    • POOL_ASYNC_COL_READS
    • POOL_ASYNC_COL_READ_REQS
    • POOL_ASYNC_COL_WRITES
    • POOL_ASYNC_COL_LBP_PAGES_FOUND
    • POOL_COL_GBP_L_READS
    • POOL_COL_GBP_P_READS
    • POOL_COL_GBP_INVALID_PAGES
    • POOL_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
    • POOL_ASYNC_COL_GBP_L_READS
    • POOL_ASYNC_COL_GBP_P_READS
    • POOL_ASYNC_COL_GBP_INVALID_PAGES
    • POOL_ASYNC_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
    • POOL_QUEUED_ASYNC_COL_REQS
    • POOL_QUEUED_ASYNC_TEMP_COL_REQS
    • POOL_QUEUED_ASYNC_COL_PAGES
    • POOL_QUEUED_ASYNC_TEMP_COL_PAGES
    • POOL_FAILED_ASYNC_COL_REQS
    • POOL_FAILED_ASYNC_TEMP_COL_REQS
    • SKIPPED_PREFETCH_COL_P_READS
    • SKIPPED_PREFETCH_TEMP_COL_P_READS
    • SKIPPED_PREFETCH_UOW_COL_P_READS
    • SKIPPED_PREFETCH_UOW_TEMP_COL_P_READS
    これらのエレメントのデータ・タイプはいずれも BIGINT です。これらのエレメントが報告されるのは、OBJECT METRICS 制御を BASE に設定した場合です。
  • MON_GET_TABLE 表関数は、以下のモニター・エレメントを返します。
    • COL_OBJECT_L_PAGES
    • NUM_COLUMNS_REFERENCED
    • OBJECT_COL_L_READS
    • OBJECT_COL_P_READS
    • OBJECT_COL_GBP_L_READS
    • OBJECT_COL_GBP_P_READS
    • OBJECT_COL_GBP_INVALID_PAGES
    • OBJECT_COL_LBP_PAGES_FOUND
    • OBJECT_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
    • SECTION_EXEC_WITH_COL_REFERENCES
    • TAB_ORGANIZATION
    これらのエレメントのデータ・タイプはいずれも BIGINT です。TAB_ORGANIZATION エレメントと COL_OBJECT_L_PAGES エレメントは常に報告されます。その他のエレメントが報告されるのは、OBJECT METRICS 制御を EXTENDED に設定した場合です。
  • MON_GET_TABLE_USAGE_LIST 表関数は、以下のモニター・エレメントを返します。
    • OBJECT_COL_L_READS
    • OBJECT_COL_P_READS
    • OBJECT_COL_GBP_L_READS
    • OBJECT_COL_GBP_P_READS
    • OBJECT_COL_GBP_INVALID_PAGES
    • OBJECT_COL_LBP_PAGES_FOUND
    • OBJECT_COL_GBP_INDEP_PAGES_FOUND_IN_LBP
    これらのエレメントのデータ・タイプはいずれも BIGINT です。これらのエレメントが報告されるのは、OBJECT METRICS 制御を EXTENDED に設定した場合です。
  • ADMIN_GET_TAB_INFO 表関数は、以下のモニター・エレメントを返します。
    • COL_OBJECT_L_SIZE
    • COL_OBJECT_P_SIZE
  • 以下の既存のメトリックは、カラム・オーガナイズ表に該当しないので NULL を返します。
    • LARGE_RIDS
    • LARGE_SLOTS

ヒット率メトリックを取得するための管理ビュー・インターフェース

管理ビューは、モニター・インターフェースを基盤としてモニター・データに関する一般的な計算処理を実行する事前定義のビューです。

MON_BP_UTILIZATION 管理ビューは、以下のモニター・エレメントを返します。
  • COL_PHYSICAL_READS
  • COL_HIT_RATIO_PERCENT
  • GBP_COL_HIT_RATIO_PERCENT
MON_TBSP_UTILIZATION 管理ビューは、以下のモニター・エレメントを返します。
  • COL_PHYSICAL_READS
  • COL_HIT_RATIO_PERCENT
  • GBP_COL_HIT_RATIO_PERCENT
MON_WORKLOAD_SUMMARY、MON_SERVICE_SUBCLASS_SUMMARY、MON_CONNECTION_SUMMARY、および MON_DB_SUMMARY 管理ビューで返されるモニター・エレメントは、以下のとおりです (COL プール・メトリックを考慮するように変更されました)。
  • TOTAL_BP_HIT_RATIO_PERCENT
  • TOTAL_GBP_HIT_RATIO_PERCENT

モニター・データが入ったレポートを生成するための変更された管理プロシージャー

COL プール・モニター・エレメントを組み込めるように更新された管理プロシージャーは、以下のとおりです。
  • MONREPORT.DBSUMMARY
  • MONREPORT.CONNECTION

特定のサービス・クラスで実行されるエージェントについての情報を取得するための変更されたモニター・インターフェース

MON_GET_AGENT 関数は、特定のサービス・クラスで実行されるエージェントについての情報を表示します。 カラム・オーガナイズ表で並列照会処理を実行するエージェントに対応するために、以下のような変更がなされています。
  • AGENT_TYPE: カラム・オーガナイズ表を処理するエージェントでは、SMPSUBAGENT タイプが返されます。
  • AGENT_SUBTYPE: カラム・オーガナイズ表を処理する SMP エージェントを示す新しい COLUMNAR サブタイプが返されます。
  • REQUEST_TYPE: COLUMNAR サブタイプのエージェントに関する動作と DSS サブタイプまたは SMP サブタイプのエージェントに関する動作は同じです。具体的には、サブセクション番号がゼロ以外であれば、SUBSECTION:subsection_number という値が返されます。 そうでない場合は、ヌル値が返されます。