锁定和死锁 | LOCKING | 此事件监视器的用途 | 用于确定锁定或死锁的发生时间以及涉及的应用程序。使用 LOCKING 事件监视器而不是建议不要使用的 DEADLOCKS 事件监视器的优点包括整合报告锁定和死锁事件及包含有关锁定等待和锁定超时的信息。 |
收集的数据 | 有关涉及的应用程序的综合信息,包括参与语句(和语句文本)的标识和要挂起的锁定的列表。 |
生成事件数据的时间1 | 检测下列任何事件类型时,根据您配置事件监视器的方式: |
执行 SQL 语句或其他衍生数据库活动的操作。 | ACTIVITIES | 此事件监视器的用途 | 用于跟踪个别语句和其他活动的执行以了解哪些活动正在系统中运行。而且还可用于因为诊断而捕获活动和研究 SQL 的资源消耗。 |
收集的数据 | 活动级别数据,通常对应涉及工作负载管理对象的活动。如果指定 WITH DETAILS 作为针对工作负载管理对象的 CREATE 或 ALTER 语句的 COLLECT ACTIVITY DATA 子句的一部分,那么所收集信息包括具有该对象的活动的语句和编译环境信息。如果还指定了 WITH SECTION,那么还会捕获语句、编译环境、片段环境数据和片段实际情况。 如果还在针对工作负载管理对象的 CREATE 或 ALTER 语句上指定了 AND VALUES,那么所收集的信息还将包括具有该对象的活动的输入数据值。
|
生成事件数据的时间1 | 在已启用 COLLECT ACTIVITY DATA 选项的服务类、工作负载或工作类中执行的活动完成时。 已启用 COLLECT ACTIVITY DATA 选项的活动违反阈值时。 执行 WLM_CAPTURE_ACTIVITY_IN_PROGRESS 存储过程时。 使用 WLM_SET_CONN_ENV 存储过程对其启用活动收集的连接执行活动时。
|
SQL 语句的执行 | STATEMENTS | 此事件监视器的用途 | 用于查看因为执行 SQL 语句对数据库发出了什么请求。 |
收集的数据 | 语句启动或停止时间、使用的 CPU、动态 SQL 的文本、SQLCA(SQL 语句的返回码)及其他度量值,如访存计数。对于分区数据库:使用的 CPU、执行时间、表和表队列信息。 注意: 使用语句事件监视器、数据操作语言 (DML) 语句(例如,INSERT、SELECT、DELETE 和 UPDATE)监视 SQL 过程的执行时,会生成事件。过程语句,例如,变量赋值和控制结构(例如,WHILE 或 IF),不会以确定性方式生成事件。 当时间戳记开关设为 OFF 时,语句启动或停止时间不可用。
|
生成事件数据的时间 | SQL 语句的结束2;对于分区数据库,子节的结束2 |
工作单元(事务)完成 | UNIT OF WORK | 此事件监视器的用途 | 用于收集在系统上运行的工作单元的资源使用信息和性能指标。此信息可用于的范围包括:从为应用程序使用的系统资源的付款或退款用途生成报告到诊断运行速度缓慢的例程导致的性能问题的用途。 对 TRANSACTIONS 事件监视器的建议。 |
收集的数据 | 有关工作单元(事务)的信息,例如,开始时间和停止时间以及运行这些工作单元的工作负载和服务类。用于包括有关在工作单元中运行的语句的包或可执行标识的信息以及请求度量值的选项。 |
生成事件数据的时间1 | 在工作单元完成之后 |
从程序包高速缓存中去除片段 | PACKAGE CACHE | 此事件监视器的用途 | 用于捕获不再在程序包高速缓存中的语句(和相关度量值)的历史记录。如果需要检查内存中不再可用的语句的性能指标,那么可使用此信息。 |
收集的数据 | 包括针对该片段的所有执行聚集的语句文本和度量值。 |
生成事件数据的时间1 | 因为从程序包高速缓存中去除了条目。 |
应用程序建立的与数据库的连接 | CONNECTIONS | 此事件监视器的用途 | 用于捕获应用程序建立的与数据库的每个连接的度量值和其他监视元素。 |
收集的数据 | 所有应用程序级别计数器。例如,应用程序连接至数据库或与数据库断开连接的时间,或者涉及该应用程序的锁定升级的数目。 |
生成事件数据的时间 | 连接结束2 |
取消激活数据库 | DATABASE | 此事件监视器的用途 | 用于捕获以下度量值和其他监视元素,它们反映激活后有关整个数据库的信息。 |
收集的数据 | 所有数据库级别计数器。例如,自激活后与数据库建立的连接数、等待锁定所耗用的时间或插入的数据行数。 |
生成事件数据的时间 | 数据库取消激活2 |
BUFFERPOOLS
TABLESPACES | 此事件监视器的用途 | 用于捕获与缓冲池和表空间相关的度量值 |
收集的数据 | 缓冲池、预取程序、页清理程序和每个缓冲池的直接 I/O 的计数器。 |
生成事件数据的时间 | 数据库取消激活2 |
TABLES | 此事件监视器的用途 | 用于捕获与数据库激活后更改的表有关的度量值。 |
收集的数据 | 表级别计数器,例如,读取或写入的行数,或数据、LOB 或索引对象使用的磁盘页数。 |
生成事件数据的时间 | 数据库取消激活2 |
有关工作负载管理对象的统计信息和度量值 | STATISTICS | 此事件监视器的用途 | 用于捕获与数据库中的工作负载管理对象(例如,服务超类或工作负载)相关的处理度量值。例如,可使用统计信息事件监视器来检查给定工作负载随时间变化的 CPU 利用率。 |
收集的数据 | 从在系统中每个服务类、工作负载或工作类内执行的活动计算而来的统计信息。 |
生成事件数据的时间 | 可按固定时间间隔自动收集统计信息。此时间间隔是使用wlm_collect_int 数据库配置参数定义的。 还可使用 WLM_COLLECT_STATS 存储过程手动收集数据。 注:通过任一收集机制,统计信息监视元素的值在发生收集后重置为 0。 |
超过工作负载管理器阈值 | THRESHOLD VIOLATIONS | 此事件监视器的用途 | 用于确定数据库操作期间何时超过您设置的特定阈值。可对各种对象(范围从 CPU 时间、数据库连接数到特定语句的执行)设置阈值。所收集数据可用于各种用途,包括监视潜在问题(例如,达到对临时表空间的限制)。 |
收集的数据 | 阈值违例信息。 |
生成事件数据的时间 | 检测到阈值违例时。阈值是使用 CREATE THRESHOLD 语句定义的。 |
对数据库或数据库管理器配置的更改 | CHANGE HISTORY | 此事件监视器的用途 | 捕获对数据库和数据库管理器配置的更改、对注册表设置的更改、DDL 语句的执行和实用程序的执行 |
收集的数据 | 数据库配置参数和数据库管理器配置参数更改、注册表变量更改、DDL 语句的执行、某些 DB2® 实用程序和命令的执行以及变更历史记录事件监视器启动。 注:通常,不会捕获在变更历史记录事件监视器处于不活动状态或数据库脱机时发生的事件的相关信息。但是,会记录对注册表变量和配置参数的更改。 |
生成事件数据的时间1 | 监视器启动期间,参数或变量发生更改的时间或命令、DDL 或实用程序的完成时间。 |
注意: 如果在活动事件监视器处于活动状态时数据库被取消激活,那么会废弃队列中积压的活动记录。为确保您获取所有活动事件监视器记录并且没有任何废弃记录,请在取消激活数据库之前取消激活该活动事件监视器。显式取消激活活动事件监视器后,事件监视器取消激活前会处理队列中所有积压的活动记录。 除了自动发生数据收集的已定义时间外,还可使用 FLUSH EVENT MONITOR SQL 语句来生成事件。此方法生成的事件将使用所有监视器类型(DEADLOCKS 和 DEADLOCKS WITH DETAILS 除外)的当前数据库监视器值写入,这些监视器类型与清空的事件监视器相关联。
|