SNAPAPPL 管理视图和 SNAP_GET_APPL 表函数-检索应用程序逻辑数据组快照信息

SNAPAPPL 管理视图和 SNAP_GET_APPL 表函数从应用程序快照 (尤其是 appl 逻辑数据组) 返回有关应用程序的信息。

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

SNAPAPPL 行政视图

此管理视图允许您检索当前连接的数据库的应用程序逻辑数据组快照信息。

与 MON_GET_AGENT , MON_GET_CONNECTION , MON_GET_MEMORY_POOL 和 MON_GET_MEMORY_SET 表函数以及 MON_CURRENT_SQL 和 SNAPSECTION 管理视图配合使用时, SNAPAPPL 管理视图提供等同于 GET SNAPSHOT FOR APPLICATIONS ON database-alias CLP 命令的信息,但从所有数据库成员中检索数据。

模式为 SYSIBMADM。

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

权限

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

缺省 PUBLIC 特权

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

示例

检索有关已连接数据库中每个应用程序的读写行的详细信息。
SELECT SUBSTR(DB_NAME,1,8) AS DB_NAME, AGENT_ID, ROWS_READ, ROWS_WRITTEN 
   FROM SYSIBMADM.SNAPAPPL
下列是从此查询输出的示例。
DB_NAME  AGENT_ID             ROWS_READ            ROWS_WRITTEN
-------- -------------------- -------------------- --------------------
SAMPLE                      7                   25                    0

  1 record(s) selected.

SNAP_GET_APPL 表函数

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

与 SNAP_GET_AGENT , SNAP_GET_AGENT_MEMORY_POOL , SNAP_GET_APPL_INFO , SNAP_GET_STMT 和 SNAP_GET_SUBSECTION 表函数配合使用, SNAP_GET_APPL 表函数提供相当于 GET SNAPSHOT FOR ALL APPLICATIONS CLP 命令的信息,但从所有数据库成员检索数据。

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

语法

Read syntax diagramSkip visual syntax diagramSNAP_GET_APPL(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_APPL 表函数将为当前连接的数据库和数据库成员号生成快照。

权限

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

缺省 PUBLIC 特权

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

示例

检索有关针对所有活动数据库的每个应用程序读写的行的详细信息。
SELECT SUBSTR(DB_NAME,1,8) AS DB_NAME, AGENT_ID, ROWS_READ, ROWS_WRITTEN 
   FROM TABLE (SNAP_GET_APPL(CAST(NULL AS VARCHAR(128)),-1)) AS T 
下列是从此查询输出的示例。
DB_NAME  AGENT_ID       ROWS_READ      ROWS_WRITTEN 
-------- --------...--- ---------...-- ------------...-
WSDB                679              0                0
WSDB                461              3                0
WSDB                460              4                0
TEST                680              4                0
TEST                455              6                0
TEST                454              0                0
TEST                453             50                0

返回的信息

表 1. SNAPAPPL 管理视图和 SNAP_GET_APPL 表函数返回的信息
列名 数据类型 描述或相应的监视元素
snapshot_timestamp TIMESTAMP 获取快照的日期和时间。
DB_NAME VARCHAR(128) db_name - 数据库名称
AGENT_ID BIGINT agent_id - 应用程序句柄(代理程序标识)
UOW_LOG_SPACE_USED BIGINT uow_log_space_used - 使用的工作单元日志空间
ROWS_READ BIGINT rows_read - 读取行数
ROWS_WRITTEN BIGINT rows_written - 写入的行数
inact_stmthist_sz BIGINT inact_stmthist_sz - 语句历史记录列表大小
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_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_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 - 缓冲池物理写总时间
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 - 未读取的预取页数
LOCKS_HELD BIGINT locks_held - 挂起的锁定数
LOCK_WAITS BIGINT lock_waits - 等待锁定次数
LOCK_WAIT_TIME BIGINT lock_wait_time - 等待锁定时间
LOCK_ESCALS BIGINT lock_escals - 锁定升级次数
X_LOCK_ESCALS BIGINT x_lock_escals - 互斥锁定升级数
DEADLOCKS BIGINT deadlocks - 检测到的死锁数
TOTAL_SORTS BIGINT total_sorts - 排序总数
TOTAL_SORT_TIME BIGINT total_sort_time - 排序总时间
SORT_OVERFLOWS BIGINT sort_overflows - 排序溢出数
COMMIT_SQL_STMTS BIGINT commit_sql_stmts - 尝试的落实语句数
ROLLBACK_SQL_STMTS BIGINT rollback_sql_stmts - 尝试的回滚语句数
DYNAMIC_SQL_STMTS BIGINT dynamic_sql_stmts - 尝试的动态 SQL 语句数
STATIC_SQL_STMTS BIGINT static_sql_stmts - 尝试的静态 SQL 语句数
FAILED_SQL_STMTS BIGINT failed_sql_stmts - 失败的语句操作
SELECT_SQL_STMTS BIGINT select_sql_stmts - 执行的 Select SQL 语句数
DDL_SQL_STMTS BIGINT ddl_sql_stmts - 数据定义语言 (DDL) SQL 语句数
UID_SQL_STMTS BIGINT uid_sql_stmts - 执行的 UPDATE/INSERT/DELETE SQL 语句数
INT_AUTO_REBINDS BIGINT int_auto_rebinds - 内部自动重新绑定次数
INT_ROWS_DELETED BIGINT int_rows_deleted - 删除的内部行数
INT_ROWS_UPDATED BIGINT int_rows_updated - 更新的内部行数
INT_COMMITS BIGINT int_commits - 内部落实数
INT_ROLLBACKS BIGINT int_rollbacks - 内部回滚
INT_DEADLOCK_ROLLBACKS BIGINT int_deadlock_rollbacks - 死锁导致的内部回滚数
ROWS_DELETED BIGINT rows_deleted - 删除行数
ROWS_INSERTED BIGINT rows_inserted - 插入行数
ROWS_UPDATED BIGINT rows_updated - 更新行数
ROWS_SELECTED BIGINT rows_selected - 选择的行数
BINDS_PRECOMPILES BIGINT binds_precompiles - 尝试的绑定次数/预编译次数
open_rem_curs BIGINT open_rem_curs - 打开的远程游标数
open_rem_curs_blk BIGINT open_rem_curs_blk - 打开的远程分块游标数
REJ_CURS_BLK BIGINT rej_curs_blk - 拒绝的块游标请求数
ACC_CURS_BLK BIGINT acc_curs_blk - 接受的块游标请求数
SQL_REQS_SINCE_COMMIT BIGINT sql_reqs_since_commit - 上次落实后的 SQL 请求数
LOCK_TIMEOUTS BIGINT lock_timeouts - 锁定超时次数
INT_ROWS_INSERTED BIGINT int_rows_inserted - 插入的内部行数
open_loc_curs BIGINT open_loc_curs - 打开的本地游标数
open_loc_curs_blk BIGINT open_loc_curs_blk - 打开的本地分块游标数
PKG_CACHE_LOOKUPS BIGINT pkg_cache_lookups - 程序包高速缓存查询数
PKG_CACHE_INSERTS BIGINT pkg_cache_inserts - 程序包高速缓存插入数
CAT_CACHE_LOOKUPS BIGINT cat_cache_lookups - 目录高速缓存查询数
CAT_CACHE_INSERTS BIGINT cat_cache_inserts - 目录高速缓存插入数
CAT_CACHE_OVERFLOWS BIGINT cat_cache_overflows - 目录高速缓存溢出数
NUM_AGENTS BIGINT num_agents - 正在处理语句的代理程序数
agents_stolen BIGINT agents_stolen - 失窃代理程序数
associated_agents_top BIGINT associated_agents_top - 最大关联代理程序数
APPL_PRIORITY BIGINT appl_priority - 应用程序代理程序优先级
APPL_PRIORITY_TYPE VARCHAR(16) appl_priority_type-应用程序优先级类型 。 此接口根据 sqlmon.h中的定义返回文本标识,并且是下列其中一项:
  • DYNAMIC_PRIORITY
  • FIXED_PRIORITY
PREFETCH_WAIT_TIME BIGINT prefetch_wait_time - 等待预取的时间
APPL_SECTION_LOOKUPS BIGINT appl_section_lookups - 节查询数
APPL_SECTION_INSERTS BIGINT appl_section_inserts - 节插入数
LOCKS_WAITING BIGINT locks_waiting - 当前正在等待锁定的代理程序数
TOTAL_HASH_JOINS BIGINT total_hash_joins - 散列连接总数
TOTAL_HASH_LOOPS BIGINT total_hash_loops - 总散列循环数
HASH_JOIN_OVERFLOWS BIGINT hash_join_overflows - 散列连接溢出数
HASH_JOIN_SMALL_OVERFLOWS BIGINT hash_join_small_overflows - 散列连接小溢出数
appl_idle_time BIGINT appl_idle_time - 应用程序空闲时间
uow_lock_wait_time BIGINT uow_lock_wait_time - 工作单元等待锁定的总时间
UOW_COMP_STATUS VARCHAR(14) uow_comp_status-工作单元完成状态 。 此接口根据 sqlmon.h中的定义返回文本标识,并且是下列其中一项:
  • APPL_END
  • UOWABEND
  • UOWCOMMIT
  • UOW死锁
  • UOWLOCKTIMEOUT
  • UOWROLLBACK
  • 未知
AGENT_USR_CPU_TIME_S BIGINT agent_usr_cpu_time - 代理程序使用的用户 CPU 时间
AGENT_USR_CPU_TIME_MS BIGINT agent_usr_cpu_time - 代理程序使用的用户 CPU 时间
AGENT_SYS_CPU_TIME_S BIGINT agent_sys_cpu_time - 代理程序使用的系统 CPU 时间
AGENT_SYS_CPU_TIME_MS BIGINT agent_sys_cpu_time - 代理程序使用的系统 CPU 时间
appl_con_time TIMESTAMP appl_con_time - 连接请求启动时间戳记
conn_complete_time TIMESTAMP conn_complete_time - 连接请求完成时间戳记
LAST_RESET TIMESTAMP last_reset - 最后重置时间戳记
UOW_START_TIME TIMESTAMP uow_start_time - 工作单元开始时间戳记
UOW_STOP_TIME TIMESTAMP uow_stop_time - 工作单元停止时间戳记
PREV_UOW_STOP_TIME TIMESTAMP prev_uow_stop_time - 上一个工作单元完成时间戳记
UOW_ELAPSED_TIME_S BIGINT uow_elapsed_time - 最新工作单元耗用时间
UOW_ELAPSED_TIME_MS BIGINT uow_elapsed_time - 最新工作单元耗用时间
ELAPSED_EXEC_TIME_S BIGINT elapsed_exec_time - 语句执行耗用时间
ELAPSED_EXEC_TIME_MS BIGINT elapsed_exec_time - 语句执行耗用时间
inbound_comm_address VARCHAR(32) inbound_comm_address - 入站通信地址
LOCK_TIMEOUT_VAL BIGINT lock_timeout_val-锁定超时 (秒)
priv_workspace_num_overflows BIGINT priv_workspace_num_overflows - 专用工作空间溢出数
priv_workspace_section_inserts BIGINT priv_workspace_section_inserts - 专用工作空间节插入数
priv_workspace_section_lookups BIGINT priv_workspace_section_lookups - 专用工作空间节查询数
priv_workspace_size_top BIGINT priv_workspace_size_top - 最大专用工作空间大小
shr_workspace_num_overflows BIGINT shr_workspace_num_overflows - 共享工作空间溢出数
shr_workspace_section_inserts BIGINT shr_workspace_section_inserts - 共享工作空间节插入数
shr_workspace_section_lookups BIGINT shr_workspace_section_lookups - 共享工作空间节查询数
shr_workspace_size_top BIGINT shr_workspace_size_top - 最大共享工作空间大小
DBPARTITIONNUM SMALLINT dbpartitionnum -“数据库分区号”监视元素
CAT_CACHE_SIZE_TOP BIGINT cat_cache_size_top-目录高速缓存高水位标记
TOTAL_OLAP_FUNCS BIGINT total_olap_funcs - OLAP 函数总数
OLAP_FUNC_OVERFLOWS BIGINT olap_func_overflows - OLAP 函数溢出次数
MEMBER SMALLINT member -“数据库成员”监视元素
* 要计算此列所基于的监视元素的总耗用时间,必须使用以下公式将以 _S 结束的此监视元素的列中报告的完整秒数与以 _MS 结束的此监视元素的列中报告的小数秒数相加: (monitor-element-name_S × 1,000,000 + monitor-element-name_MS) ÷ 1,000,000。 例如, (ELAPSED_EXEC_TIME_S × 1,000,000 + ELAPSED_EXEC_TIME_MS) ÷ 1,000,000。