MON_GET_CONTAINER 表関数 - 表スペース・コンテナー・メトリックの取得
MON_GET_CONTAINER 表関数は、1 つ以上の表スペース・コンテナーのモニター・メトリックを戻します。
構文
スキーマは SYSPROC です。
表関数パラメーター
- TBSP_NAME
- この関数を呼び出すときに現在接続されているデータベースと同じデータベース内の有効な表スペース名を指定する、タイプ VARCHAR(128) の入力引数。 引数が NULL または空ストリングである場合、 データベース内のすべての表スペース内のすべてのコンテナーについてメトリックが戻されます。 member
- この関数を呼び出すときに現在接続されているデータベースと同じインスタンス内の有効なメンバーを指定する、タイプ INTEGER の入力引数。 現行のデータベース・メンバーには -1、すべてのアクティブ・データベース・メンバーには -2 を指定します。 NULL 値を指定すると、-1 が暗黙的に設定されます。
許可
このルーチンを実行するには、以下のいずれかの権限が必要です。
- ルーチンに対する EXECUTE 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
デフォルトの PUBLIC 特権
なし
戻される情報
列名 | データ・タイプ | 説明または対応するモニター・エレメント |
---|---|---|
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 で、以下のいずれかです。
|
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