SNAPBP 管理视图和 SNAP_GET_BP 表函数-检索缓冲池逻辑组快照信息

SNAPBP 管理视图和 SNAP_GET_BP 表函数从缓冲池快照 (尤其是缓冲池逻辑数据组) 返回有关缓冲池的信息。

重要信息: 不推荐使用 SNAPBP 管理视图和 SNAP_GET_BP 表函数,已将其替换为 MON_GET_BUFFERPOOL 表函数-获取缓冲池指标
根据您使用的是管理视图还是表函数,请参阅下列其中一个部分:

SNAPBP 管理视图

此管理视图允许您检索当前连接的数据库的缓冲池逻辑组快照信息。

与 MON_GET_BUFFERPOOL 表函数配合使用, SNAPBP 管理视图提供等同于 GET SNAPSHOT FOR BUFFERPOOLS ON database-alias CLP 命令的数据。

模式为 SYSIBMADM。

请参阅 表 1 ,以获取可返回的完整信息列表。

权限

需要下列其中一个权限才能使用该视图:
  • 对 SNAPBP 管理视图的 SELECT 特权
  • 对 SNAPBP 管理视图的 CONTROL 特权
  • DATAACCESS 权限
  • DBADM 权限
  • SQLADM 权限
需要下列其中一项才能使用表函数:
  • 对 SNAP_GET_BP 表函数的 EXECUTE 特权
  • DATAACCESS 权限
  • DBADM 权限
  • SQLADM 权限
此外,要访问快照监视器数据,还需要下列其中一个权限:
  • SYSMON
  • SYSCTRL
  • SYSMAINT
  • SYSADM

缺省 PUBLIC 特权

在非限制性数据库中,当自动创建视图时,将向 PUBLIC 授予 SELECT 特权。

示例

检索当前连接的数据库的所有缓冲池的数据和索引写入。
SELECT SUBSTR(DB_NAME,1,8) AS DB_NAME,SUBSTR(BP_NAME,1,15) 
   AS BP_NAME,POOL_DATA_WRITES,POOL_INDEX_WRITES 
   FROM SYSIBMADM.SNAPBP
下列是从此查询输出的示例。
DB_NAME  BP_NAME         POOL_DATA_WRITES     POOL_INDEX_WRITES 
-------- --------------- -------------------- --------------------
TEST     IBMDEFAULTBP                       0                    0
TEST     IBMSYSTEMBP4K                      0                    0
TEST     IBMSYSTEMBP8K                      0                    0
TEST     IBMSYSTEMBP16K                     0                    0
TEST     IBMSYSTEMBP32K                     0                    0

5 record(s) selected 

SNAP_GET_BP 表函数

SNAP_GET_BP 表函数返回与 SNAPBP 管理视图相同的信息,但允许您检索特定数据库成员上的特定数据库的信息,聚集所有数据库成员或所有数据库成员。

与 SNAP_GET_BP_PART 表函数配合使用时, SNAP_GET_BP 表函数提供与 GET SNAPSHOT FOR ALL BUFFERPOOLS CLP 命令等效的数据。

请参阅 表 1 ,以获取可返回的完整信息列表。

语法

Read syntax diagramSkip visual syntax diagramSNAP_GET_BP(dbname, member)

模式为 SYSPROC。

表函数参数

dbname
类型为 VARCHAR (128) 的输入参数,用于指定与当前连接的数据库在同一实例中的有效数据库名称。 指定目录条目类型为 "Indirect" 或 "Home" 的数据库名称,如 LIST DATABASE DIRECTORY 命令所返回。 指定空字符串以从当前连接的数据库获取快照。 指定 NULL 值以从与当前连接的数据库相同的实例中的所有数据库获取快照。
成员
类型为 INTEGER 的可选输入参数,用于指定有效数据库成员编号。 对当前数据库成员指定 -1 ,或对所有活动数据库成员的聚集指定 -2 。 如果 dbname 未设置为 NULL ,并且 member 设置为 NULL,那么将为 member隐式设置 -1 。 如果未使用此输入选项,即仅提供 dbname ,那么将从所有活动数据库成员返回数据。 活动数据库成员是数据库可供应用程序连接和使用的成员。

如果 dbnamemember 都设置为 NULL,那么将尝试从 SNAP_WRITE_FILE 过程创建的文件中读取数据。 请注意,此文件可能是在任何时候创建的,这意味着数据可能不是最新的。 如果不存在具有相应快照 API 请求类型的文件,那么 SNAP_GET_BP 表函数将为当前连接的数据库和数据库成员号生成快照。

权限

需要下列其中一个权限:
  • 对 SNAP_GET_BP 表函数的 EXECUTE 特权
  • DATAACCESS 权限
此外,要访问快照监视器数据,还需要下列其中一个权限:
  • SYSMON
  • SYSCTRL
  • SYSMAINT
  • SYSADM

缺省 PUBLIC 特权

在非限制性数据库中,当自动创建该功能时,将向 PUBLIC 授予 EXECUTE 特权。

示例

检索当前连接的数据库成员的所有活动数据库的所有缓冲池的总物理和逻辑读取数。
SELECT SUBSTR(T.DB_NAME,1,10) AS DB_NAME, 
   SUBSTR(T.BP_NAME,1,20) AS BP_NAME, 
   (T.POOL_DATA_L_READS+T.POOL_INDEX_L_READS) AS TOTAL_LOGICAL_READS, 
   (T.POOL_DATA_P_READS+T.POOL_INDEX_P_READS) AS TOTAL_PHYSICAL_READS, 
   T.DBPARTITIONNUM 
   FROM TABLE(SNAP_GET_BP(CAST(NULL AS VARCHAR(128)), -1)) AS T
下列是从此查询输出的示例。
DB_NAME    BP_NAME          TOTAL_LOGICAL_READS  ...
---------- ------------...- -------------------- ...
SAMPLE     IBMDEFAULTBP                        0 ...
TOOLSDB    IBMDEFAULTBP                        0 ...
TOOLSDB    BP32K0000                           0 ...
                                                    
  3 record(s) selected.                             
此查询的输出(继续)。
... TOTAL_PHYSICAL_READS DBPARTITIONNUM
... -------------------- --------------
...                    0              0
...                    0              0
...                    0              0

返回的信息

表 1. SNAPBP 管理视图和 SNAP_GET_BP 表函数返回的信息
列名 数据类型 描述或相应的监视元素
snapshot_timestamp TIMESTAMP 获取快照的日期和时间。
BP_NAME VARCHAR(128) bp_name - 缓冲池名称
DB_NAME VARCHAR(128) db_name - 数据库名称
DB_PATH VARCHAR(1024) db_path - 数据库路径
input_db_alias VARCHAR(128) input_db_alias - 输入数据库别名
POOL_DATA_L_READS BIGINT pool_data_l_reads - 缓冲池数据逻辑读取数
POOL_DATA_P_READS BIGINT pool_data_p_reads - 缓冲池数据物理读取数
POOL_DATA_WRITES BIGINT pool_data_writes - 缓冲池数据写次数
POOL_INDEX_L_READS BIGINT pool_index_l_reads - 缓冲池索引逻辑读取数
POOL_INDEX_P_READS BIGINT pool_index_p_reads - 缓冲池索引物理读取数
POOL_INDEX_WRITES BIGINT pool_index_writes - 缓冲池索引写次数
POOL_XDA_L_READS BIGINT pool_xda_l_reads - 缓冲池 XDA 数据逻辑读取数
POOL_XDA_P_READS BIGINT pool_xda_p_reads - 缓冲池 XDA 数据物理读取数
POOL_XDA_WRITES BIGINT pool_xda_writes - 缓冲池 XDA 数据写次数
POOL_READ_TIME BIGINT pool_read_time - 缓冲池物理读总时间
POOL_WRITE_TIME BIGINT pool_write_time - 缓冲池物理写总时间
POOL_ASYNC_DATA_READS BIGINT pool_async_data_reads - 缓冲池异步数据读次数
POOL_ASYNC_DATA_WRITES BIGINT pool_async_data_writes - 缓冲池异步数据写次数
POOL_ASYNC_INDEX_READS BIGINT pool_async_index_reads - 缓冲池异步索引读取数
POOL_ASYNC_INDEX_WRITES BIGINT pool_async_index_writes - 缓冲池异步索引写次数
POOL_ASYNC_XDA_READS BIGINT pool_async_xda_reads - 缓冲池异步 XDA 数据读取数
POOL_ASYNC_XDA_WRITES BIGINT pool_async_xda_writes - 缓冲池异步 XDA 数据写次数
POOL_ASYNC_READ_TIME BIGINT pool_async_read_time - 缓冲池异步读取时间
POOL_ASYNC_WRITE_TIME BIGINT pool_async_write_time - 缓冲池异步写入时间
POOL_ASYNC_DATA_READ_REQS BIGINT pool_async_data_read_reqs - 缓冲池异步读请求数
POOL_ASYNC_INDEX_READ_REQS BIGINT pool_async_index_read_reqs - 缓冲池异步索引读请求数
POOL_ASYNC_XDA_READ_REQS BIGINT pool_async_xda_read_reqs - 缓冲池异步 XDA 读请求数
DIRECT_READS BIGINT direct_reads - 直接读取数据库的次数
DIRECT_WRITES BIGINT direct_writes - 直接写至数据库的次数
DIRECT_READ_REQS BIGINT direct_read_reqs - 直接读请求数
DIRECT_WRITE_REQS BIGINT direct_write_reqs - 直接写请求数
DIRECT_READ_TIME BIGINT direct_read_time - 直接读时间
DIRECT_WRITE_TIME BIGINT direct_write_time - 直接写时间
UNREAD_PREFETCH_PAGES BIGINT unread_prefetch_pages - 未读取的预取页数
FILES_CLOSED BIGINT files_closed - 关闭的数据库文件数
POOL_TEMP_DATA_L_READS BIGINT pool_temp_data_l_reads - 缓冲池临时数据逻辑读取数
POOL_TEMP_DATA_P_READS BIGINT pool_temp_data_p_reads - 缓冲池临时数据物理读取数
POOL_TEMP_INDEX_L_READS BIGINT pool_temp_index_l_reads - 缓冲池临时索引逻辑读取数
POOL_TEMP_INDEX_P_READS BIGINT pool_temp_index_p_reads - 缓冲池临时索引物理读取数
POOL_TEMP_XDA_L_READS BIGINT pool_temp_xda_l_reads - 缓冲池临时 XDA 数据逻辑读取数
POOL_TEMP_XDA_P_READS BIGINT pool_temp_xda_p_reads -“缓冲池临时 XDA 数据物理读取数”监视元素
POOL_NO_VICTIM_BUFFER BIGINT pool_no_victim_buffer - 缓冲池无牺牲缓冲区的次数
PAGES_FROM_BLOCK_IOS BIGINT pages_from_block_ios - 块 I/O 读取的总页数
PAGES_FROM_VECTORED_IOS BIGINT pages_from_vectored_ios - 向量 I/O 读取的总页数
VECTORED_IOS BIGINT vectored_ios - 向量 I/O 请求数
DBPARTITIONNUM SMALLINT dbpartitionnum -“数据库分区号”监视元素
MEMBER SMALLINT member -“数据库成员”监视元素