活动事件监视

活动事件监视器捕获与在系统上运行的活动有关的数据。可使用此事件监视器来收集数据以帮助您更好地了解语句及系统上的常规负载的性能和行为。 系统中的每个活动完成后,活动事件监视器会记录信息。相比之下,工作单元事件监视器在每个事务完成时记录数据。通过使用活动事件监视器,可检查与各语句的执行相关的监视元素。
活动事件监视器返回的数据是对以下表函数返回的数据的补充:
  • MON_GET_ACTIVITY_DETAILS
  • MON_GET_PKG_CACHE_STMT
  • MON_GET_PKG_CACHE_STMT_DETAILS
虽然事件监视器返回有关系统上运行的活动的历史信息,但表函数会提供有关系统上已运行或最新运行的活动的信息。

使用活动事件监视器

与其他事件监视器配合使用
活动事件监视器在与其他事件监视器配合使用时特别有用。例如,您可能想要捕获违反所定义阈值的语句执行的信息。在这种情况下,您执行以下步骤:
  1. 使用 CREATE THRESHOLD 语句来定义阈值。在定义阈值时,指定 COLLECT ACTIVITY DATA 子句以便让任何处于活动状态的活动事件监视器记录活动数据。
  2. 创建阈值违例事件监视器以捕获有关阈值违例时间的详细信息以及有关当时系统中所发生情况的其他数据。
  3. 创建用于捕获阈值违例生成的活动信息的活动事件监视器。
  4. 运行应用程序或工作负载。
  5. 查询事件监视器输出以查看有关违反阈值时所发生情况的信息。可连接来自阈值违例事件监视器的数据与来自活动事件监视器的数据以找出发生违例时正在运行的语句。
示例:捕获与语句的执行相关的活动信息对此过程作了详细描述。
该活动事件监视器的其他应用包括以下各项:
  • 捕获有关长时间运行的查询的信息。在这种情况下,您运行 WLM_CAPTURE_ACTIVITY_IN_PROGRESS 过程以在活动完成前强制收集有关活动的信息。如果您想要终止长时间运行的语句但又想捕获其相关信息,那么运行此过程很有用。
  • 查看特定工作负载中的应用程序正在运行哪些语句。
命令、过程或工具的输入
活动事件监视器所生成的数据可用作各种工具和存储过程的输入,包括:
db2expln - SQL 和 XQuery 说明命令
db2expln 命令可使用活动事件监视器中的节信息来描述与该节相关的语句的存取方案。
EXPLAIN_FROM_ACTIVITY 存储过程
EXPLAIN_FROM_ACTIVITY 存储过程说明如何使用过程从活动事件监视器获取的节的内容来具体执行语句。说明输出放在说明表中以便使用说明工具(例如,db2exfmt 命令)进行处理。说明输出包含(如果可用)存取方案和节实际值(存取方案中的运算符的运行时统计信息)。
工作负载管理历史分析工具
wlmhist.plwlmhistrep.pl Perl 脚本通过使用活动数事件监视器捕获的信息来执行历史分析。
节实际值
活动事件监视器的另一用法是捕获节实际值。可使用此数据来比较活动事件监视器捕获的实际值与存取方案中的估算成本。执行此比较允许您查看该存取方案是否仍然有效。