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

SNAPAGENT 管理视图和 SNAP_GET_AGENT 表函数返回有关应用程序快照 (尤其是代理程序逻辑数据组) 中的代理程序的信息。

重要信息: 不推荐使用 SNAPAGENT 管理视图和 SNAP_GET_AGENT 表函数,已将其替换为 MON_GET_AGENT 表函数-列示数据库的代理程序,受防护方式进程和系统实体MON_GET_CONNECTION 表函数-获取连接指标
根据您使用的是管理视图还是表函数,请参阅下列其中一个部分:

SNAPAGENT 管理视图

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

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

模式为 SYSIBMADM。

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

授权

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

缺省 PUBLIC 特权

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

示例

从代理程序逻辑数据组中检索当前连接的数据库的所有应用程序快照信息。
SELECT * FROM SYSIBMADM.SNAPAGENT
下列是从此查询输出的示例。
SNAPSHOT_TIMESTAMP         DB_NAME     AGENT_ID        ... 
-------------------------- -------...- ---------...--- ... 
2005-07-19-11.03.26.740423 SAMPLE                  101 ... 
2005-07-19-11.03.26.740423 SAMPLE                   49 ... 
                                                       ... 
  2 record(s) selected.                                ... 
此查询的输出(继续)。
...  AGENT_PID            LOCK_TIMEOUT_VAL     DBPARTITIONNUM
...  -------------------- -------------------- --------------
...                 11980                   -1              0
...                 15940                   -1              0
...                                                          
...                                                          

SNAP_GET_AGENT 表函数

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

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

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

语法

Read syntax diagramSkip visual syntax diagramSNAP_GET_AGENT(dbname , member)

模式为 SYSPROC。

表函数参数

数据库名称
类型为 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_AGENT 表函数将为当前连接的数据库和数据库成员号生成快照。

授权

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

缺省 PUBLIC 特权

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

示例

检索所有活动数据库中所有应用程序的所有应用程序快照信息。
SELECT * FROM TABLE(SNAP_GET_AGENT(CAST(NULL AS VARCHAR(128)), -1)) AS T
下列是从此查询输出的示例。
SNAPSHOT_TIMESTAMP         DB_NAME     AGENT_ID      ... 
-------------------------- -------...- --------...-- ... 
2006-01-03-17.21.38.530785 SAMPLE                 48 ... 
2006-01-03-17.21.38.530785 SAMPLE                 47 ... 
2006-01-03-17.21.38.530785 SAMPLE                 46 ... 
2006-01-03-17.21.38.530785 TESTDB                 30 ... 
2006-01-03-17.21.38.530785 TESTDB                 29 ... 
2006-01-03-17.21.38.530785 TESTDB                 28 ... 
                                                         
6 record(s) selected.                                    
此查询的输出(继续)。
... AGENT_PID        LOCK_TIMEOUT_VAL     DBPARTITIONNUM 
... ---------...---- -------------------- -------------- 
...             7696                   -1              0 
...             8536                   -1              0 
...             6672                   -1              0 
...             2332                   -1              0 
...             8360                   -1              0 
...             6736                   -1              0 
...                                                      

返回的信息

表 1. SNAPAGENT 管理视图和 SNAP_GET_AGENT 表函数返回的信息
列名 数据类型 描述或相应的监视元素
snapshot_timestamp TIMESTAMP 获取快照的日期和时间。
DB_NAME VARCHAR(128) db_name - 数据库名称
AGENT_ID BIGINT agent_id - 应用程序句柄(代理程序标识)
agent_pid BIGINT agent_pid-引擎可分派单元 (EDU)
LOCK_TIMEOUT_VAL BIGINT lock_timeout_val-锁定超时 (秒)
DBPARTITIONNUM SMALLINT dbpartitionnum -“数据库分区号”监视元素
成员 SMALLINT member -“数据库成员”监视元素