MON_GET_TABLE 表関数 - 表メトリックの取得
MON_GET_TABLE 表関数は、1 つ以上の表のモニター・メトリックを戻します。
構文
スキーマは SYSPROC です。
表関数パラメーター
- TABSCHEMA
- この関数を呼び出すときに現在接続されているデータベースで有効な表スキーマ名を指定する、タイプ VARCHAR(128) の入力引数。 引数が NULL または空ストリングである場合、データベース内のすべてのスキーマのすべての表についてメトリックが取得されます。 引数が指定される場合、メトリックは指定したスキーマ内の表についてのみ戻されます。
- tabname
- この関数を呼び出すときに現在接続されているデータベースで有効な表名を指定する、タイプ VARCHAR(128) の入力引数。 引数が NULL または空ストリングである場合、データベース内のすべての表についてメトリックが取得されます。
- member
- この関数を呼び出すときに現在接続されているデータベースと同じインスタンス内の有効なメンバーを指定する、タイプ INTEGER の入力引数。 現行のデータベース・メンバーには -1、すべてのアクティブ・データベース・メンバーには -2 を指定します。 NULL 値を指定すると、-1 が暗黙的に設定されます。
許可
このルーチンを実行するには、以下のいずれかの権限が必要です。
- ルーチンに対する EXECUTE 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
デフォルトの PUBLIC 特権
なし
戻される情報
使用上の注意
MON_GET_TABLE 表関数は、データベース表ごとおよびデータベース・メンバーごとに 1 行のデータを戻します。 範囲パーティション表が使用される場合、データベース・メンバーごとに、各表パーティションについて 1 行が戻されます。 データベース・メンバー全体からの集約は実行されません。 ただし、集約は例に示されるように SQL 照会を使用して実行できます。
行は、データベースのアクティブ化後にアクセスされた表についてのみ戻されます。
この関数によって戻されるメトリックは、2 つのレベルで収集されます。 一部のメトリックは常に収集されますが、その他のメトリックの収集は mon_obj_metrics 構成パラメーターを使用してデータベース・レベルで制御されます。 特定のメトリックのデータを収集するために設定をアクティブにする必要があるかどうかを判別するには、上記の表の説明を参照してください。
例
- すべてのデータベース・メンバー全体で集約し、読み取り数の高い順に、データベースのアクティブ化後にアクセスされたすべての表のアクティビティーをリストします。
SELECT varchar(tabschema,20) as tabschema, varchar(tabname,20) as tabname, sum(rows_read) as total_rows_read, sum(rows_inserted) as total_rows_inserted, sum(rows_updated) as total_rows_updated, sum(rows_deleted) as total_rows_deleted FROM TABLE(MON_GET_TABLE('','',-2)) AS t GROUP BY tabschema, tabname ORDER BY total_rows_read DESC
以下はこの照会の出力例です。
TABSCHEMA TABNAME TOTAL_ROWS_READ ... -------------------- -------------------- -------------------- ... SYSIBM SYSHISTO 113 ... SYSIBM SYSWORKL 22 ... SYSIBM SYSROUTI 13 ... SYSIBM SYSSERVI 13 ... SYSIBM SYSTHRES 6 ... SYSIBM SYSTABLE 3 ... SYSIBM SYSCONTE 2 ... SYSIBM SYSDBAUT 2 ... SYSIBM SYSEVENT 2 ... SYSIBM SYSPLAN 1 ... SYSIBM SYSSURRO 1 ... SYSIBM SYSVERSI 1 ... SYSIBM SYSXMLST 1 ... SYSIBM SYSAUDIT 0 ... SYSIBM SYSROLEA 0 ... SYSIBM SYSROLES 0 ... SYSIBM SYSTASKS 0 ... SYSIBM SYSWORKA 0 ... SYSIBM SYSXMLPA 0 ... 19 record(s) selected.
照会の出力 (続き)。
... TOTAL_ROWS_INSERTED TOTAL_ROWS_UPDATED TOTAL_ROWS_DELETED ... -------------------- -------------------- -------------------- ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0 ... 0 0 0
- メンバー 1 からスキーマ JOE の表の明示的階層ロッキング状態を取得します。
この照会は、以下の出力を戻します。SELECT SUBSTR(TABNAME,1,8) AS TABNAME, MEMBER, DATA_SHARING_STATE AS DS_STATE, DATA_SHARING_REMOTE_LOCKWAIT_COUNT AS DSRL_COUNT, DATA_SHARING_REMOTE_LOCKWAIT_TIME AS DSRL_TIME FROM TABLE(MON_GET_TABLE('JOE','',1))
この出力では、表 T1 が現在「NOT_SHARED」状態であり、現在のデータベース・アクティブ化中に強制的にこの状態以外にされたことがないことが示されています。 表 T3 は「NOT_SHARED」状態になったことがありません。 表 T2 は「NOT_SHARED」状態に 2 回なっており、2 回とも終了する必要がありました。TABNAME MEMBER DS_STATE DSRL_COUNT DSRL_TIME -------- ------ ------------------- -------------------- -------------------- T1 1 NOT_SHARED 0 0 T2 1 SHARED 2 21844 T3 1 SHARED 0 0