WLM_GET_ACTIVITY_DETAILS 表函数 - 返回有关特定活动的详细信息

此函数返回有关特定活动(由其应用程序句柄、工作单元标识和活动标识所标识)的详细信息。 此信息包括有关该活动已违反的任何阈值的详细信息。

此函数会返回一个或多个服务子类的基本统计信息。

语法

Read syntax diagramSkip visual syntax diagramWLM_GET_ACTIVITY_DETAILS(application_handle ,uow_id,activity_id,member )

模式为 SYSPROC。

表函数参数

应用程序句柄
类型为 BIGINT 的输入参数,该参数指定有效的应用程序句柄。 如果该参数为 NULL,那么不会从此函数返回任何行。 如果该参数为 NULL,那么会返回 SQL171N 错误。
uow_id
类型为 INTEGER 的输入参数,该参数指定应用程序内唯一的有效工作单元标识。 如果该参数为 NULL,那么不会从此函数返回任何行。 如果该参数为 NULL,那么会返回 SQL171N 错误。
活动标识
类型为 INTEGER 的输入参数,该参数指定工作单元内唯一的有效活动标识。 如果该参数为 NULL,那么不会从此函数返回任何行。 如果该参数为 NULL,那么会返回 SQL171N 错误。
成员
类型为 INTEGER 的输入参数,该参数指定在调用此函数时与当前所连接数据库在同一实例中的成员的有效编号。 请指定 -1(对于当前数据库成员)或 -2(对于所有数据库成员)。 如果指定空值,那么会隐式设置 -1

权限

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

缺省 PUBLIC 特权

示例

可通过使用 WLM_GET_ACTIVITY_DETAILS 表函数来获取有关单个活动的详细信息。 此表函数会为每个成员以“名称/值”对形式返回活动信息。 此示例限制为仅显示由应用程序句柄 1 ,工作单元标识 1 和活动标识 5 标识的活动的每个成员的 "名称/值" 对的 11 个成员子集。 有关名称/值对的完整列表,请参阅 表 2表 3
  SELECT SUBSTR(CHAR(DBPARTITIONNUM),1,4) AS PART,
         SUBSTR(NAME, 1, 20) AS NAME,
         SUBSTR(VALUE, 1, 30) AS VALUE
  FROM TABLE(WLM_GET_ACTIVITY_DETAILS(1, 1, 5, -2)) AS ACTDETAIL
  WHERE NAME IN ('APPLICATION_HANDLE',
               'COORD_PARTITION_NUM',
               'LOCAL_START_TIME',
               'UOW_ID',
               'ACTIVITY_ID',
               'PARENT_UOW_ID',
               'PARENT_ACTIVITY_ID',
               'ACTIVITY_TYPE',
               'NESTING_LEVEL',
               'INVOCATION_ID',
               'ROUTINE_ID')
  ORDER BY PART

下列是从此查询输出的示例。
PART NAME                 VALUE
---- -------------------- ------------------------------
0    APPLICATION_HANDLE   1
0    COORD_PARTITION_NUM  0
0    LOCAL_START_TIME     2005-11-25-18.52.49.343000
0    UOW_ID               1
0    ACTIVITY_ID          5
0    PARENT_UOW_ID        1
0    PARENT_ACTIVITY_ID   3
0    ACTIVITY_TYPE        READ_DML
0    NESTING_LEVEL        0
0    INVOCATION_ID        1
0    ROUTINE_ID           0
1    APPLICATION_HANDLE   1
1    COORD_PARTITION_NUM  0
1    LOCAL_START_TIME     2005-11-25-18.52.49.598000
1    UOW_ID               1
1    ACTIVITY_ID          5
1    PARENT_UOW_ID
1    PARENT_ACTIVITY_ID
1    ACTIVITY_TYPE        READ_DML
1    NESTING_LEVEL        0
1    INVOCATION_ID        1
1    ROUTINE_ID           0

使用说明

ACTIVITY_STATE 为 QUEUED 意味着协调程序活动已对目录成员进行 RPC 以获取阈值票据,并且尚未接收到响应。 看到此状态时,这可能指示 WLM 已对该活动进行排队,或者看到此状态持续很短时间段时,这可能仅指示该活动正在获取其票据。 要较准确地了解该活动是否真的处于已排队状态,用户可使用 WLM_GET_SERVICE_CLASS_AGENTS 表函数来确定哪个代理程序正在处理该活动,并且查明此代理程序在目录成员上的 event_object 是否具有值 WLM_QUEUE。

返回的信息

表 1. 由 WLM_GET_ACTIVITY_DETAILS 返回的信息
列名 数据类型 描述
DBPARTITIONNUM SMALLINT dbpartitionnum -“数据库分区号”监视元素
名称 VARCHAR(256) 元素名称。 请参阅 表 2表 3 以获取可能的值。
VARCHAR(1024) 元素值。 请参阅 表 2表 3 以获取可能的值。
表 2. 返回的元素
元素名称 描述
ACTIVITY_ID activity_id -“活动标识”监视元素
ACTIVITY_STATE activity_state -“活动状态”监视元素
ACTIVITY_TYPE activity_type -“活动类型”监视元素
APPLICATION_HANDLE application_handle -“应用程序句柄”监视元素
COORD_PARTITION_NUM coord_partition_num -“协调程序分区号”监视元素
DATABASE_WORK_ACTION_SET_ID 如果此活动已映射到已应用于数据库的工作操作集,那么此列包含该工作操作集的标识。 此列包含0如果该活动尚未映射到已应用于数据库的工作操作集。
DATABASE_WORK_CLASS_ID 如果此活动已映射到已应用于数据库的工作操作集,那么此列包含此活动的工作类的标识。 此列包含0如果该活动尚未映射到已应用于数据库的工作操作集。
EFFECTIVE_ISOLATION effective_isolation -“有效隔离级别”监视元素
EFFECTIVE_LOCK_TIMEOUT effective_lock_timeout -“有效锁定超时”监视元素
EFFECTIVE_QUERY_DEGREE effective_query_degree -“有效查询并行度”监视元素
ENTRY_TIME entry_time -“进入时间”监视元素
INVOCATION_ID invocation_id -“调用标识”监视元素
LAST_REFERENCE_TIME last_reference_time -“上次引用时间”监视元素
LOCAL_START_TIME local_start_time -“本地开始时间”监视元素
NESTING_LEVEL nesting_level -“嵌套级别”监视元素
PACKAGE_NAME package_name -“程序包名”监视元素
PACKAGE_SCHEMA package_schema -“程序包模式”监视元素
PACKAGE_VERSION_ID package_version_id -“程序包版本”监视元素
PARENT_ACTIVITY_ID parent_activity_id -“父活动标识”监视元素
PARENT_UOW_ID 应用程序内的唯一工作单元标识。 是指此活动的父活动在其中开始的原始工作单元。 如果该活动没有任何父活动或位于远程成员上,那么会返回空字符串。
QUERY_COST_ESTIMATE query_cost_estimate -“查询估算成本”监视元素
ROUTINE_ID routine_id -“例程标识”监视元素
ROWS_FETCHED rows_fetched -“访存的行数”监视元素
ROWS_MODIFIED rows_modified -“修改的行数”监视元素
SECTION_NUMBER section_number -“节号”监视元素
SERVICE_CLASS_ID service_class_id -“服务类标识”监视元素
SERVICE_CLASS_WORK_ACTION_SET_ID 如果此活动已映射到已应用于服务类的工作操作集,那么此列包含该工作操作集的标识。 如果该活动尚未映射到已应用于服务类的工作操作集,那么此列包含 0。
SERVICE_CLASS_WORK_CLASS_ID 如果此活动已映射到已应用于服务类的工作操作集,那么此列包含此活动的工作类的标识。 此列包含0如果该活动尚未映射到已应用于服务类的工作操作集。
STMT_PKG_CACHE_ID stmt_pkgcache_id -“语句程序包高速缓存标识”监视元素
STMT_TEXT stmt_text -“SQL 语句文本”监视元素
SYSTEM_CPU_TIME system_cpu_time -“系统 CPU 时间”监视元素
UOW_ID uow_id -“工作单元标识”监视元素
USER_CPU_TIME user_cpu_time -“用户 CPU 时间”监视元素
UTILITY_ID utility_id -“实用程序标识”监视元素
要点: WLM_GET_ACTIVITY_DETAILS 表函数仅显示当前应用于活动的阈值。

仅当对应的阈值适用于该活动时,才会返回下列元素。

表 3. 返回的元素(如果适用)
元素名称 描述
ACTIVITYTOTALTIME_THRESHOLD_ID activitytotaltime_threshold_id -“活动总时间阈值标识”监视元素
ACTIVITYTOTALTIME_THRESHOLD_VALUE activitytotaltime_threshold_value -“活动总时间阈值”监视元素
activitytotaltime_threshold_violated activitytotaltime_threshold_violated -“违反活动总时间阈值”监视元素
concurrentdbcoordactivities_db_threshold_id concurrentdbcoordactivities_db_threshold_id -“并行数据库协调程序活动数的数据库阈值标识”监视元素
CONCURRENTDBCOORDACTIVITIES_DB_THRESHOLD_QUEUED concurrentdbcoordactivities_db_threshold_queued -“已由并行数据库协调程序活动数的数据库阈值排队”监视元素
concurrentdbcoordactivities_db_threshold_value concurrentdbcoordactivities_db_threshold_value -“并行数据库协调程序活动数的数据库阈值”监视元素
concurrentdbcoordactivities_db_threshold_violated concurrentdbcoordactivities_db_threshold_violated -“违反并行数据库协调程序活动数的数据库阈值”监视元素
concurrentdbcoordactivities_subclass_threshold_id concurrentdbcoordactivities_subclass_threshold_id -“并行数据库协调程序活动数的服务子类阈值标识”监视元素
concurrentdbcoordactivities_subclass_threshold_queued 'Yes' 指示活动已由 CONCURRENTDBCOORDACTIVITIES_SUBCLASS 阈值排队。No' 指示活动未排队。
CONCURRENTDBCOORDACTIVITIES_SUBCLASS_THRESHOLD_VALUE concurrentdbcoordactivities_subclass_threshold_value -“并行数据库协调程序活动数的服务子类阈值”监视元素
concurrentdbcoordactivities_subclass_threshold_violated 'Yes' 指示该活动违反了 CONCURRENTDBCOORDACTIVITIES_SUBCLASS 阈值。No' 指示活动尚未违反阈值。
concurrentdbcoordactivities_superclass_threshold_id 应用于该活动的 CONCURRENTDBCOORDACTIVITIES _SUPERCLASS 阈值的标识。
concurrentdbcoordactivities_superclass_threshold_queued 'Yes' 指示该活动已由 CONCURRENTDBCOORDACTIVITIES _SUPERCLASS 阈值排队。No' 指示活动未排队。
concurrentdbcoordactivities_superclass_threshold_value 应用于该活动的 CONCURRENTDBCOORDACTIVITIES _SUPERCLASS 阈值的上限。
concurrentdbcoordactivities_superclass_threshold_violated 'Yes' 指示该活动已违反 CONCURRENTDBCOORDACTIVITIES _SUPERCLASS 阈值。No' 指示活动尚未违反阈值。
concurrentdbcoordactivities_work_action_set_threshold_id 应用于该活动的 CONCURRENTDBCOORDACTIVITIES_WORK _ACTION_SET 阈值的标识。
concurrentdbcoordactivities_work_action_set_threshold_queued 'Yes' 指示该活动已由 CONCURRENTDBCOORDACTIVITIES _WORK_ACTION_SET 阈值排队。 “No”表明未对此活动进行排队。
concurrentdbcoordactivities_work_action_set_threshold_value 应用于此活动的 CONCURRENTDBCOORDACTIVITIES_WORK_ACTION_SET 阈值的上限。
concurrentdbcoordactivities_work_action_set_threshold_violated 'Yes' 指示该活动已违反 CONCURRENTDBCOORDACTIVITIES_WORK _ACTION_SET 阈值。No' 指示活动尚未违反阈值。
concurrentworkloadactivities_threshold_id 已应用于该活动的 CONCURRENTWORKLOADACTIVITIES 阈值的标识。
CONCURRENTWORKLOADACTIVITIES_THRESHOLD_VALUE 已应用于该活动的 CONCURRENTWORKLOADACTIVITIES 阈值的上限。
concurrentworkloadactivities_threshold_violated 'Yes' 指示该活动已违反CON线性工作负载活动阈值。No' 指示活动尚未违反阈值。
ESTIMATEDSQLCOST_THRESHOLD_ID estimatedsqlcost_threshold_id -“估计 SQL 成本阈值标识”监视元素
ESTIMATEDSQLCOST_THRESHOLD_VALUE estimatedsqlcost_threshold_value -“估计 SQL 成本阈值”监视元素
estimatedsqlcost_threshold_violated estimatedsqlcost_threshold_violated -“违反估计 SQL 成本阈值”监视元素
SQLROWSRETURNED_THRESHOLD_ID sqlrowsreturned_threshold_id -“返回所读取 SQL 行数阈值标识”监视元素
SQLROWSRETURNED_THRESHOLD_VALUE sqlrowsreturned_threshold_value -“返回所读取 SQL 行数阈值”监视元素
sqlrowsreturned_threshold_violated sqlrowsreturned_threshold_violated -“违反返回所读取 SQL 行数阈值”监视元素
SQLTEMPSPACE_THRESHOLD_ID sqltempspace_threshold_id -“SQL 临时空间阈值标识”监视元素
SQLTEMPSPACE_THRESHOLD_VALUE sqltempspace_threshold_value -“SQL 临时空间阈值”监视元素
SQLTEMPSPACE_THRESHOLD_VIOLATED sqltempspace_threshold_violated -“违反 SQL 临时空间阈值”监视元素