WLM_GET_ACTIVITY_DETAILS 表函数 - 返回有关特定活动的详细信息
此函数返回有关特定活动(由其应用程序句柄、工作单元标识和活动标识所标识)的详细信息。 此信息包括有关该活动已违反的任何阈值的详细信息。
注: 不推荐使用此表函数,将其替换为 MON_GET_ACTIVITY_DETAILS 表函数-以 XML 文档形式返回有关活动的信息。
此函数会返回一个或多个服务子类的基本统计信息。
语法
模式为 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。
返回的信息
| 列名 | 数据类型 | 描述 |
|---|---|---|
| DBPARTITIONNUM | SMALLINT | dbpartitionnum -“数据库分区号”监视元素 |
| 名称 | VARCHAR(256) | 元素名称。 请参阅 表 2 和 表 3 以获取可能的值。 |
| 值 | VARCHAR(1024) | 元素值。 请参阅 表 2 和 表 3 以获取可能的值。 |
| 元素名称 | 描述 |
|---|---|
| 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 表函数仅显示当前应用于活动的阈值。
仅当对应的阈值适用于该活动时,才会返回下列元素。
| 元素名称 | 描述 |
|---|---|
| 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 临时空间阈值”监视元素 |
