MON_GET_CONTAINER 表函数 - 获取表空间容器指标

MON_GET_CONTAINER 表函数返回一个或多个表空间容器的监视指标。

语法

Read syntax diagramSkip visual syntax diagramMON_GET_CONTAINER(tbsp_name ,member)

模式为 SYSPROC。

表函数参数

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

权限

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

缺省 PUBLIC 特权

示例

示例 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

使用说明

MON_GET_CONTAINER 表函数针对每个容器和每个数据库成员返回一行数据。 可以针对给定表空间中的所有容器返回数据,也可以针对数据库中的所有容器返回数据。 不执行跨数据库分区的聚集。 但是,可以通过 SQL 查询来实现聚集。

此函数收集的度量在数据库级别使用 mon_obj_metrics 配置参数进行控制。 缺省情况下,已启用指标收集。

返回的信息

表 1. 针对 MON_GET_CONTAINER 返回的信息
列名 数据类型 描述或相应的监视元素
tbsp_name VARCHAR(128) tablespace_name - 表空间名称
tbsp_id BIGINT tablespace_id - 表空间标识
container_name VARCHAR(256) container_name - 容器名称
container_id BIGINT container_id - 容器标识
MEMBER SMALLINT 成员-数据库成员
container_type VARCHAR(16) container_type-容器类型 这是基于 sqlutil.h 中的定义的文本标识,它是下列其中一项:
  • 磁盘扩展标记
  • 磁盘页标记
  • 文件 EXTENT_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-向量 IO 请求数
PAGES_FROM_VECTORED_IOS BIGINT pages_from_vectored_ios-向量 IO 读取的总页数
BLOCK_IOS BIGINT block_ios-块 IO 请求数
PAGES_FROM_BLOCK_IOS BIGINT pages_from_block_ios-块 IO 读取的总页数
POOL_READ_TIME BIGINT pool_read_time - 缓冲池物理读总时间
POOL_WRITE_TIME BIGINT pool_write_time - 缓冲池物理写总时间
TOTAL_PAGES BIGINT container_total_pages - 容器中的总页数
使用 BLE_PAGES BIGINT container_usable_pages - 容器中的可用页数
可访问 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不同,后者用于标识通过根据值对表中的数据进行细分而创建的数据分区。
db_storage_path_id BIGINT db_storage_path_id -“存储路径标识”监视元素