MON_GET_TABLE 表函数 - 获取表指标

MON_GET_TABLE 表函数返回一个或多个表的监视指标。

语法

Read syntax diagramSkip visual syntax diagramMON_GET_TABLE(tabschema, tabname,member)

模式为 SYSPROC。

表函数参数

TABSCHEMA
类型为 VARCHAR (128) 的输入参数,用于在调用此函数时指定当前连接的数据库中的有效表模式名称。 如果自变量为 NULL 或空字符串,那么将针对数据库中所有模式中的所有表检索度量。 如果指定了自变量,那么仅针对指定模式中的表返回度量值。
tabname
类型为 VARCHAR (128) 的输入参数,用于在调用此函数时指定当前连接的数据库中的有效表名。 如果自变量为 NULL 或空字符串,那么将检索数据库中所有表的度量。
成员
类型为 INTEGER 的输入自变量,调用此函数时,此自变量指定与当前连接的数据库位于同一实例中的有效成员。 指定 -1(表示当前数据库成员)或 -2(表示所有活动数据库成员)。 如果指定 NULL 值,那么将隐式设置 -1。

权限

需要下列其中一项权限才能执行此例程:
  • 对例程的 EXECUTE 特权
  • DATAACCESS 权限
  • DBADM 权限
  • SQLADM 权限

缺省 PUBLIC 特权

返回的信息

表 1. 针对 MON_GET_TABLE 返回的信息
列名 数据类型 描述
TABSCHEMA VARCHAR(128) table_schema - 表模式名
TABNAME VARCHAR(128) table_name - 表名
MEMBER SMALLINT 成员-数据库成员
tab_type VARCHAR(14) table_type - 表类型
tab_file_id BIGINT table_file_id-表文件标识
DATA_PARTITION_ID INTEGER data_partition_id - 数据分区标识
tbsp_id BIGINT tablespace_id - 表空间标识
index_tbsp_id BIGINT index_tbsp_id - 索引表空间标识
long_tbsp_id BIGINT long_tbsp_id - 长表空间标识
table_scans BIGINT table_scans - 表扫描次数
ROWS_READ BIGINT rows_read - 读取行数
ROWS_INSERTED BIGINT rows_inserted - 插入行数
ROWS_UPDATED BIGINT rows_updated - 更新行数
ROWS_DELETED BIGINT rows_deleted - 删除行数
OVERFLOW_ACCESSES BIGINT overflow_accesses - 访问溢出记录次数
OVERFLOW_CREATES BIGINT overflow_creates - 创建溢出行数
PAGE_REORGS BIGINT

page_reorgs - 页重组

DATA_OBJECT_L_PAGES BIGINT data_object_l_pages-逻辑数据对象页数
LOB_OBJECT_L_PAGES BIGINT lob_object_l_pages-逻辑 LOB 对象页数
long_object_l_pages BIGINT long_object_l_pages-逻辑长对象页数
INDEX_OBJECT_L_PAGES BIGINT index_object_l_pages-逻辑索引对象页数
XDA_OBJECT_L_PAGES BIGINT xda_object_l_pages-逻辑 XDA 对象页数
DBPARTITIONNUM SMALLINT dbpartitionnum - 数据库分区号
no_change_updates BIGINT no_change_updates - 无更改行的更新数
LOCK_WAIT_TIME BIGINT lock_wait_time - 等待锁定时间
LOCK_WAIT_TIME_GLOBAL BIGINT lock_wait_time_global - 锁定等待时间全局
LOCK_WAITS BIGINT lock_waits - 等待锁定次数
LOCK_WAITS_GLOBAL BIGINT lock_waits_global - 锁定等待全局
LOCK_ESCALS BIGINT lock_escals - 锁定升级次数
LOCK_ESCALS_GLOBAL BIGINT lock_escals_global - 全局锁定升级数
DATA_SHARING_STATE VARCHAR (19) data_sharing_state -“数据共享状态”监视元素
DATA_SHARING_STATE_CHANGE_TIME TIMESTAMP data_sharing_state_change_time -“数据共享状态更改时间”监视元素
data_sharing_remote_lockwait_count BIGINT data_sharing_remote_lockwait_count -“数据共享远程锁定等待计数”监视元素
data_sharing_remote_lockwait_time BIGINT data_sharing_remote_lockwait_time -“数据共享远程锁定等待时间”监视元素
DIRECT_WRITES BIGINT direct_writes - 直接写至数据库的次数
DIRECT_WRITE_REQS BIGINT direct_write_reqs - 直接写请求数
DIRECT_READS BIGINT direct_reads - 直接读取数据库的次数
DIRECT_READ_REQS BIGINT direct_read_reqs - 直接读请求数
object_data_l_reads BIGINT object_data_l_reads - 表的缓冲池数据逻辑读取数
object_data_p_reads BIGINT object_data_p_reads-表的缓冲池数据物理读取数
object_data_gbp_l_reads BIGINT object_data_gbp_l_reads-表的组缓冲池数据逻辑读取数
object_data_gbp_p_reads BIGINT object_data_gbp_p_reads-表的组缓冲池数据物理读取数
object_data_gbp_invalid_pages BIGINT object_data_gbp_invalid_pages-表的组缓冲池无效数据页数
object_data_lbp_pages_found BIGINT object_data_lbp_pages_found-本地缓冲池找到的表数据页数
object_data_gbp_indep_pages_found_in_lbp BIGINT object_data_gbp_indep_pages_found_in_lbp - 本地缓冲池中发现的独立于组缓冲池的数据页数
object_xda_l_reads BIGINT object_xda_l_reads - 表的缓冲池 XDA 数据逻辑读取数
object_xda_p_reads BIGINT object_xda_p_reads - 表的缓冲池 XDA 数据物理读取数
object_xda_gbp_l_reads BIGINT object_xda_gbp_l_reads-表的组缓冲池 XDA 数据逻辑读取请求数
object_xda_gbp_p_reads BIGINT object_xda_gbp_p_reads-表的组缓冲池 XDA 数据物理读取请求数
object_xda_gbp_invalid_pages BIGINT object_xda_gbp_invalid_pages-表的组缓冲池无效 XDA 数据页数
object_xda_lbp_pages_found BIGINT object_xda_lbp_pages_found-为表找到的本地缓冲池 XDA 数据页数
object_xda_gbp_indep_pages_found_in_lbp BIGINT object_xda_gbp_indep_pages_found_in_lbp - 本地缓冲池中发现的独立于组缓冲池的 XDA 页数
num_page_dict_built BIGINT num_page_dict_build-创建或重新创建的页级别压缩字典数
stats_rows_modified BIGINT stats_rows_modified - 自最近一次 RUNSTATS 以来修改的行数
rts_rows_modified BIGINT rts_rows_modified - 自最近一条实时统计信息之后修改的行数
COL_OBJECT_L_PAGES BIGINT col_object_l_pages - 按列组织逻辑页数
TAB_ORGANIZATION CHAR(1) tab_organization - 表中的数据组织
OBJECT_COL_L_READS BIGINT object_col_l_reads - 按列组织逻辑读取次数
OBJECT_COL_P_READS BIGINT object_col_p_reads - 按列组织物理读取次数
OBJECT_COL_GBP_L_READS BIGINT object_col_gbp_l_reads - 组缓冲池按列组织逻辑读取次数
OBJECT_COL_GBP_P_READS BIGINT object_col_gbp_p_reads - 组缓冲池按列组织物理读取次数
OBJECT_COL_GBP_INVALID_PAGES BIGINT object_col_gbp_invalid_pages - 组缓冲池按列组织无效数据页面数
OBJECT_COL_LBP_PAGES_FOUND BIGINT object_col_lbp_pages_found - 发现的本地缓冲池按列组织页面数
OBJECT_COL_GBP_INDEP_PAGES_FOUND_IN_LBP BIGINT object_col_gbp_indep_pages_found_in_lbp - 本地缓冲池中发现的组缓冲池按列组织的索引页面数
NUM_COLUMNS_REFERENCED BIGINT num_columns_referenced - 引用的列数
SECTION_EXEC_WITH_COL_REFERENCES BIGINT section_exec_with_col_references - 具有按列组织的引用的节执行
OBJECT_DATA_CACHING_TIER_L_READS BIGINT 保留以供将来使用。
OBJECT_DATA_CACHING_TIER_PAGES_FOUND BIGINT 保留以供将来使用。
对象 ECT_DATA_CACHING_TIER_GBP_INVALID_PAGES BIGINT 保留以供将来使用。
对象 ECT_DATA_CACHING_TIER_GBP_INDEP_PAGES_FOUND BIGINT 保留以供将来使用。
OBJECT_XDA_CACHING_TIER_L_READS BIGINT 保留以供将来使用。
OBJECT_XDA_CACHING_TIER_PAGES_FOUND BIGINT 保留以供将来使用。
对象 ECT_XDA_CACHING_TIER_GBP_INVALID_PAGES BIGINT 保留以供将来使用。
对象 ECT_XDA_CACHING_TIER_GBP_INDEP_PAGES_FOUND BIGINT 保留以供将来使用。
OBJECT_COL_CACHING_TIER_L_READS BIGINT 保留以供将来使用。
OBJECT_COL_CACHING_TIER_PAGES_FOUND BIGINT 保留以供将来使用。
对象 ECT_COL_CACHING_TIER_GBP_INVALID_PAGES BIGINT 保留以供将来使用。
对象 ECT_COL_CACHING_TIER_GBP_INDEP_PAGES_FOUND BIGINT 保留以供将来使用。
EXT_TABLE_RECV_WAIT_TIME BIGINT ext_table_recv_wait_time -“代理程序等待外部表阅读器的时间总量”监视元素
EXT_TABLE_RECVS_TOTAL BIGINT ext_table_recvs_total -“从外部表阅读器接收到的行批处理总数”监视元素
EXT_TABLE_RECV_VOLUME BIGINT ext_table_recv_volume -“从外部表阅读器接收到的数据总量”监视元素
EXT_TABLE_READ_VOLUME BIGINT ext_table_read_volume -“外部表阅读器读取的数据总量”监视元素
EXT_TABLE_SEND_WAIT_TIME BIGINT ext_table_send_wait_time -“代理程序等待外部表写程序的时间总量”监视元素
EXT_TABLE_SENDS_TOTAL BIGINT ext_table_sends_total -“发送至外部表写程序的行批处理总数”监视元素
EXT_TABLE_SEND_VOLUME BIGINT ext_table_send_volume -“发送至外部表写程序的数据总量”监视元素
EXT_TABLE_WRITE_VOLUME BIGINT ext_table_write_volume -“外部表写程序写入的数据总量”监视元素

使用说明

MON_GET_TABLE 表函数针对每个数据库表和每个数据库成员返回一行数据。 如果正在使用范围分区表,那么将针对每个数据库成员的每个表分区返回一行。 不会执行跨数据库成员的聚集。 但是,可以通过 SQL 查询来实现聚集,如示例中所示。

仅对自数据库激活以来访问的表返回行。

此函数返回的度量值是在两个级别收集的。 将始终收集某些度量值,而使用 mon_obj_metrics 配置参数在数据库级别控制其他度量值的收集。 请参阅上表中提供的描述,以确定对于要针对特定度量收集的数据,是否必须有任何设置处于活动状态。

示例

  1. 列出自数据库激活以来访问的所有表上的活动,在所有数据库成员之间聚集,按最大读取数排序。
    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
    
    
  2. 从成员 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))
    此查询将返回以下输出:
    TABNAME  MEMBER DS_STATE            DSRL_COUNT           DSRL_TIME
    -------- ------ ------------------- -------------------- --------------------
    T1            1 NOT_SHARED                             0                    0
    T2            1 SHARED                                 2                21844
    T3            1 SHARED                                 0                    0
    此输出显示表 T1 当前处于 "NOT_SHARED" 状态,并且在当前数据库激活期间从未强制退出此状态。 表 T3 从未进入 "NOT_SHARED" 状态。 表 T2 曾两次处于 "NOT_SHARED" 状态,并且两次都必须退出。