MON_GET_CONTAINER 表関数 - 表スペース・コンテナー・メトリックの取得

MON_GET_CONTAINER 表関数は、1 つ以上の表スペース・コンテナーのモニター・メトリックを戻します。

構文

Read syntax diagramSkip visual syntax diagramMON_GET_CONTAINER(tbsp_name ,member)

スキーマは SYSPROC です。

表関数パラメーター

TBSP_NAME
この関数を呼び出すときに現在接続されているデータベースと同じデータベース内の有効な表スペース名を指定する、タイプ VARCHAR(128) の入力引数。 引数が NULL または空ストリングである場合、 データベース内のすべての表スペース内のすべてのコンテナーについてメトリックが戻されます。
member
この関数を呼び出すときに現在接続されているデータベースと同じインスタンス内の有効なメンバーを指定する、タイプ INTEGER の入力引数。 現行のデータベース・メンバーには -1、すべてのアクティブ・データベース・メンバーには -2 を指定します。 NULL 値を指定すると、-1 が暗黙的に設定されます。

許可

このルーチンを実行するには、以下のいずれかの権限が必要です。
  • ルーチンに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限

デフォルトの PUBLIC 特権

なし

戻される情報

表 1. MON_GET_CONTAINER について戻される情報
列名 データ・タイプ 説明または対応するモニター・エレメント
TBSP_NAME VARCHAR(128) tablespace_name 表スペース名
TBSP_ID BIGINT tablespace_id 表スペース ID
CONTAINER_NAME VARCHAR(256) container_name コンテナー名
CONTAINER_ID BIGINT container_id コンテナー ID
メンバー SMALLINT member-データベース・メンバー
CONTAINER_TYPE VARCHAR(16) container_type-コンテナー・タイプ これは、 sqlutil.h での定義に基づくテキスト ID で、以下のいずれかです。
  • DISK_EXTENT_TAG
  • DISK_PAGE_TAG
  • FILE_EXTENT_TAG
  • FILE_PAGE_TAG
  • PATH
STRIPE_SET BIGINT container_stripe_set-ストライプ・セット
DIRECT_READS BIGINT direct_reads データベースからの直接読み取り
DIRECT_WRITES BIGINT direct_writes データベースへの直接書き込み
DIRECT_READ_TIME BIGINT direct_read_time 直接読み取り時間
DIRECT_WRITE_TIME BIGINT direct_write_time 直接書き込み時間
PAGES_READ BIGINT pages_read - 読み取られたページの数
PAGES_WRITTEN BIGINT pages_written - 書き込まれたページの数
VECTORED_IOS BIGINT vectored_ios ベクトル化された入出力要求数
PAGES_FROM_VECTORED_IOS BIGINT pages_from_vectored_ios-ベクトル化入出力によって読み取られたページ数の合計
BLOCK_IOS BIGINT block_ios ブロック入出力要求数
PAGES_FROM_BLOCK_IOS BIGINT pages_from_block_ios-ブロック入出力によって読み取られたページ数の合計
POOL_READ_TIME BIGINT pool_read_time バッファー・プール物理読み取り時間の合計
POOL_WRITE_TIME BIGINT pool_write_time バッファー・プール物理書き込み時間の合計
TOTAL_PAGES BIGINT container_total_pages コンテナー内の合計ページ数
USABLE_PAGES BIGINT container_usable_pages コンテナー内の使用可能なページ数
ACCESSIBLE SMALLINT container_accessible コンテナーのアクセス可能性
FS_ID VARCHAR(22) fs_id - 固有のファイル・システム識別番号
FS_TOTAL_SIZE BIGINT fs_total_size - ファイル・システムの合計サイズ
FS_USED_SIZE BIGINT fs_used_size - ファイル・システム上で使用されるスペースの量
DBPARTITIONNUM SMALLINT dbpartitionnum - データベース・パーティション番号 : モニター・エレメント
パーティション・データベース環境の場合、これは MEMBER 列と同じ値になります。 Db2® Enterprise Server Edition および Db2 pureScale® 環境の場合、この値は 0 になります。
注: DBPARTITIONNUM は data_partition_idとは異なります。DBPARTITIONNUM は、値に基づいて表内のデータを細分化することによって作成されたデータ・パーティションを識別するために使用されます。
DB_STORAGE_PATH_ID BIGINT db_storage_path_id - ストレージ・パス ID モニター・エレメント
キャッシュ・ティア・ディレクトリー読み取り BIGINT caching_tier_direct_reads-キャッシング層からの直接読み取りモニター・エレメント
注: このモニター・エレメントは現在、 Db2 Warehouse および Db2 Warehouse on Cloud 製品でのみ使用可能です。
CACHING_TIER_DIRECT_READ_REQS BIGINT caching_tier_direct_read_reqs-キャッシュ直接読み取り要求モニター・エレメント
注: このモニター・エレメントは現在、 Db2 Warehouse および Db2 Warehouse on Cloud 製品でのみ使用可能です。
キャッシュ・ティア・ディレクトリーの読み取り時間 BIGINT caching_tier_direct_read_time-キャッシュ直接読み取り時間: モニター・エレメント
注: このモニター・エレメントは現在、 Db2 Warehouse および Db2 Warehouse on Cloud 製品でのみ使用可能です。

使用上の注意

MON_GET_CONTAINER 表関数は、 コンテナーごとおよびデータベース・メンバーごとに 1 行のデータを戻します。 データは、指定の表スペース内のすべてのコンテナー、またはデータベース内のすべてのコンテナーについて戻すことができます。 データベース・パーティション全体からの集約は実行されません。 しかし、SQL 照会を使用して集約を実行できます。

この関数によって収集されるメトリックは、 mon_obj_metrics 構成パラメーターを使用してデータベース・レベルで制御されます。 デフォルトでは、メトリック収集は有効になります。

例 1: 読み取り時間が最長のすべてのデータベース・メンバーのコンテナーをリストします。

SELECT varchar(container_name,70) as container_name, 
       varchar(tbsp_name,20) as tbsp_name, 
       pool_read_time 
FROM TABLE(MON_GET_CONTAINER('',-2)) AS t 
ORDER BY pool_read_time DESC

以下はこの照会の出力例です。

CONTAINER_NAME                                                         ... 
---------------------------------------------------------------------- ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000000/C0000000.CAT      ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000002/C0000000.LRG      ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000001/C0000000.TMP      ... 

  3 record(s) selected.

照会の出力 (続き)。

... TBSP_NAME            POOL_READ_TIME      
... -------------------- --------------------
... SYSCATSPACE                           597
... USERSPACE1                             42
... TEMPSPACE1                              0

例 2: アクセスできないすべてのコンテナーをリストします。

SELECT varchar(container_name, 70) as container_name 
FROM TABLE(MON_GET_CONTAINER('',-1)) AS t 
WHERE accessible = 0

以下はこの照会の出力例です。

CONTAINER_NAME                                                        
----------------------------------------------------------------------

  0 record(s) selected.

例 3: 使用率の高い順にコンテナー・ファイル・システムの使用率をリストします。

SELECT varchar(container_name, 65) as container_name, 
       fs_id, 
       fs_used_size, 
       fs_total_size, 
       CASE WHEN fs_total_size > 0 
            THEN DEC(100*(FLOAT(fs_used_size)/FLOAT(fs_total_size)),5,2) 
            ELSE DEC(-1,5,2) 
       END as utilization 
FROM TABLE(MON_GET_CONTAINER('',-1)) AS t 
ORDER BY utilization DESC

以下はこの照会の出力例です。

CONTAINER_NAME                                                    ... 
----------------------------------------------------------------- ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000000/C0000000.CAT ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000001/C0000000.TMP ... 
/home/hotel55/swalkty/swalkty/NODE0000/TEST/T0000002/C0000000.LRG ... 

  3 record(s) selected.

照会の出力 (続き)。

FS_ID                FS_USED_SIZE         FS_TOTAL_SIZE        UTILIZATION 
-------------------- -------------------- -------------------- ----------- 
               64768         106879311872         317068410880       33.70
               64768         106879311872         317068410880       33.70
               64768         106879311872         317068410880       33.70