last_active_log -“最后一个活动日志文件编号”监视元素
最后一个活动日志文件的文件号。
- 元素标识
- last_active_log
- 元素类型
- 信息
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | detail_log | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 将此元素与 first_active_log
和 current_active_log
元素一起使用来确定活动日志文件的范围。 知道活动日志文件的范围可帮助您确定日志文件所需的磁盘空间。
您也可以使用此元素来确定哪些日志文件包含数据,以帮助您标识分割镜像支持所需的日志文件。
last_backup -“上次备份时间戳记”监视元素
完成上次数据库备份的日期和时间。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_DATABASE 表函数-获取数据库级别信息 | 始终收集 |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 时间戳记 |
用法
可使用此元素来帮助您标识最近没有备份的数据库,或者标识最新的数据库备份文件。 如果数据库从未进行备份,那么此时间戳记会初始化为零(对于快照)和 NULL(对于表函数)。
last_executable_id -“上一个可执行标识”监视元素
应用程序最近完成的语句的可执行文件标识。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
LAST_EXEC_ERROR -“语句的最近一次错误”监视元素
此语句最近一次错误的错误 SQLCA 中的 SQLCODE。 如果此语句尚未发生错误,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
LAST_EXEC_ERROR_SQLERRMC -“最近一次语句错误的标记”监视元素
错误 SQLCA 中的 SQLERRMC,它包含此语句最近一次错误的 SQLCODE 标记。 如果此语句尚未发生错误,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
LAST_EXEC_ERROR_TIMESTAMP -“最近一次语句错误的时间”监视元素
此语句最近一次发生错误的时间。 如果此语句尚未发生错误,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
LAST_EXEC_WARNING -“最近一次语句警告”监视元素
此语句最近一次警告的警告 SQLCA 中的 SQLCODE。 如果此语句尚未出现警告,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
此元素不报告 SQL0100W。
说明
- 找不到满足在 UPDATE 或 DELETE 语句中所指定搜索条件的行。
- SELECT 语句的结果是一个空白表。
- 当游标定位在结果表的最后一行之后时,执行一个 FETCH 语句。
- 用在 INSERT 语句中的 SELECT 的结果为空。
用户响应
不需要执行任何操作。 处理可以继续。
sqlcode:+100
sqlstate:02000
LAST_EXEC_WARNING_SQLERRMC -“最近一次语句警告的标记”监视元素
警告 SQLCA 中的 SQLERRMC,它包含此语句最近一次警告的 SQLCODE 标记。 如果此语句尚未出现警告,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
LAST_EXEC_WARNING_TIMESTAMP -“最近一次语句警告的时间”监视元素
此语句最近一次出现警告的时间。 如果此语句尚未出现警告,那么此值为 NULL。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取程序包高速缓存语句指标 | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | event_pkgcache | 始终收集 |
last_extent -“移动的最后一个扩展数据块”监视元素
表空间重新平衡程序过程所移动的最后一个扩展数据块的数字标识。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_EXTENT_MOVEMENT_STATUS-获取扩展数据块移动进度状态指标 | 始终收集 |
last_metrics_update -“最近一次更新指标的时间戳记”监视元素
用于反映上一次更新此高速缓存条目的时间指标的时间戳记。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_PKG_CACHE_STMT 表函数 - 获取包高速缓存中的 SQL 语句活动度量 | ACTIVITY METRICS BASE |
| MON_GET_PKG_CACHE_STMT_DETAILS 表函数-获取程序包高速缓存条目的详细指标 | ACTIVITY METRICS BASE |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 包高速缓存 | - | COLLECT BASE DATA |
last_overflow_time -“最后一次事件溢出时间”监视元素
此溢出记录的最后一次溢出的日期和时间。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 溢出记录 | event_overflow | - |
- 用法
- 将此元素与 first_overflow_time 配合使用来计算生成溢出记录所耗用的时间。
last_reference_time -“上次引用时间”监视元素
此活动上次被某个请求访问时的时间。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_ACTIVITY 表函数 - 返回活动列表 | 始终收集 |
| MON_GET_ACTIVITY_DETAILS 表函数-获取完整的活动详细信息 (在 DETAILS XML 文档中报告) | 始终收集 |
| WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES 表函数-返回活动列表 | 始终收集 |
last_request_type -“上一个请求类型”监视元素
应用程序完成的上一个请求的类型。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
用法
仅对于应用程序的协调程序成员才会报告此监视元素。
- CLOSE
- COMMIT
- COMPILE
- DESCRIBE
- EXCSQLSET
- EXECIMMD
- EXECUTE
- FETCH
- INTERNAL number,其中 number 是内部常量的值
- OPEN
- PREPARE
- REBIND
- REDISTRIBUTE
- 重组
- ROLLBACK
- 运行统计信息
last_reset -“最后重置时间戳记”监视元素
指示监视器计数器对发出 GET SNAPSHOT 的应用程序重置的日期和时间。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库管理器 | db2 | 时间戳记 |
| 数据库 | dbase | 时间戳记 |
| 应用程序 | appl | 时间戳记 |
| 表空间 | tablespace_list | 缓冲池,时间戳记 |
| 表 | table_list | 时间戳记 |
| DCS 数据库 | dcs_dbase | 时间戳记 |
| DCS 应用程序 | dcs_appl | 时间戳记 |
- 用法
- 可以使用此元素来帮助您确定 数据库系统监视器返回的信息的范围。
如果计数器从未重置,那么此元素将为零。
仅当重置所有活动数据库时,才会重置 数据库管理器 计数器。
last_updated -“最近一次更新时间戳记”监视元素
用于指示最近一次更新此条目的时间戳记。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_INDEX_USAGE_LIST 表函数 - 从索引用法列表返回信息 | 始终收集 |
| MON_GET_TABLE_USAGE_LIST 表函数 - 从表用法列表返回信息 | 始终收集 |
last_wlm_reset -“最后一次重置时间”监视元素
此元素为本地时间戳记形式,显示创建此类型的最后一个统计事件记录的时间。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 统计信息 | event_osmetrics | - |
| 统计信息 | event_qstats | - |
| 统计信息 | event_scmetrics | 始终收集 |
| 统计信息 | event_scstats | - |
| 统计信息 | event_superclassmetrics | 始终收集 |
| 统计信息 | event_superclassstats | - |
| 统计信息 | event_wcstats | - |
| 统计信息 | event_wlmetrics | 始终收集 |
| 统计信息 | event_wlstats | - |
用法
使用 wlm_last_reset 和 statistics_timestamp 监视元素来确定收集事件监视器统计信息记录中的统计信息的时间段。 收集时间间隔从 wlm_last_reset 时间开始,并且在 statistics_timestamp 结束。
latch_name -“锁存器名称”监视元素
锁存器的唯一名称。
此值对应于数据库诊断文件(例如 db2diag 日志文件或堆栈文件)所报告的锁存器名称。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_EXTENDED_LATCH_WAIT 表函数 - 返回锁存器的信息 | 始终收集 |
| MON_GET_LATCH 表函数-列示当前成员中的所有锁存器 | 始终收集 |
latch_status -“锁存器状态”监视元素
锁存器的状态。
- H
- 引擎可分派单元正在持有该锁存器
- W
- 引擎可分派单元正在等待该锁存器
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_LATCH 表函数-列示当前成员中的所有锁存器 | 始终收集 |
latch_wait_time -“锁存器等待时间”监视元素
引擎可分派单元在等待锁存器时所花的时间(以毫秒计)。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_LATCH 表函数-列示当前成员中的所有锁存器 | 始终收集 |
lbp_update_time -“本地缓冲池更新时间”监视元素
在扩展数据块移动期间,此监视元素会显示在每个成员的本地缓冲池中,更新已移动扩展数据块的高速缓存页面位置所花费的累积时间。
此值以毫秒计。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_EXTENT_MOVEMENT_STATUS - 获取扩展数据块移动进度 | 始终收集 |
lib_id -“库标识”监视元素
触发器和触发器子例程的内部唯一标识。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_ROUTINE 表函数 - 获取例程的聚集执行度量值 | 始终收集 |
| MON_GET_ROUTINE_DETAILS 表函数 - 获取例程的聚集执行度量值详细信息 | 始终收集 |
| MON_GET_ROUTINE_EXEC_LIST 表函数 - 获取例程所执行的语句列表 | 始终收集 |
| MON_GET_SECTION_ROUTINE 表函数 - 获取输入部分的例程列表 | 始终收集 |
用法
使用此元素将触发器与其子例程相关。
lob_object_l_pages -“LOB 数据逻辑页数”监视元素
与此表相关联的 LOB 在磁盘上使用的逻辑页数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TABLE 表函数 - 获取表指标 | 始终收集 |
用法
- 此值可能小于实际上为该对象分配的空间量。 使用 TRUNCATE 语句的 REUSE STORAGE 选项时,可能会发生这种情况。 此选项导致为该表分配的存储空间继续被分配,尽管该存储空间被视为空。 此外,此监视元素的值可能小于逻辑上为该对象分配的空间量,因为逻辑上分配的空间总量包括少量附加元数据。
要检索对象的逻辑大小或物理大小的准确度量,请使用 ADMIN_GET_TAB_INFO_V97 函数。 此函数提供的有关对象大小的信息比您可(通过将针对此监视元素报告的页数乘以页大小)获取的对象大小更准确。
lob_object_pages -“LOB 对象页数”监视元素
LOB 数据消耗的磁盘页数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 表 | 表 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 表 | event_table | 始终收集 |
- 用法
- 此元素提供了一种机制,可用来查看特定表中的 LOB 数据消耗的实际空间量。 此元素可与表事件监视器配合使用以跟踪一段时间内 LOB 数据的增长率。
lob_prefetch_reqs -“LOB 预取程序请求计数”监视元素
应用程序等待 I/O 服务器(预取程序)完成 LOB 读/写操作的次数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 包高速缓存 | pkgcache_metrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scmetrics | REQUEST METRICS BASE |
| 统计信息 | event_superclassmetrics | REQUEST METRICS BASE |
| 统计信息 | event_wlmetrics | REQUEST METRICS BASE |
| 工作单元 | uow_metrics | REQUEST METRICS BASE |
lob_prefetch_wait_time -“LOB 读/写的预取程序的等待时间”监视元素
应用程序等待 I/O 服务器(预取程序)读/写 LOB 所耗用的时间。
此值以毫秒计。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 包高速缓存 | pkgcache_metrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scmetrics | REQUEST METRICS BASE |
| 统计信息 | event_superclassmetrics | REQUEST METRICS BASE |
| 统计信息 | event_wlmetrics | REQUEST METRICS BASE |
| 工作单元 | uow_metrics | REQUEST METRICS BASE |
local_cons -“本地连接数”监视元素
当前连接到正在监视的 数据库管理器 实例中的数据库的本地应用程序数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库管理器 | db2 | 基本 |
用法
此数字可帮助您确定 数据库管理器中发生的并发处理级别。 此值经常更改,所以可能需要在很长的时间段内按特定时间间隔对其进行采样,以了解实际的系统使用情况。
此数目仅包括从与 数据库管理器相同的实例启动的应用程序。 这些应用程序将进行连接,但它们可能执行也可能不执行数据库中的工作单元。
与 rem_cons_in 监视元素一起使用时,此元素可帮助您调整 max_connections 配置参数的设置。
local_cons_in_exec -“数据库管理器中正在执行的本地连接数”监视元素
当前连接到受监视的 数据库管理器 实例中的数据库且当前正在处理工作单元的本地应用程序数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库管理器 | db2 | 基本 |
用法
此数字可帮助您确定 数据库管理器中发生的并发处理级别。 此值经常更改,所以可能需要在很长的时间段内按特定时间间隔对其进行采样,以了解实际的系统使用情况。 此数目仅包括从与 数据库管理器相同的实例启动的应用程序。
与 rem_cons_in_exec 监视元素使用使用时,此元素可帮助您调整 max_coordagents 配置参数的设置。
- 如果 max_coordagents 设置为 AUTOMATIC,那么不要作任何调整。
- 如果 max_coordagents 未设置为 AUTOMATIC,并且 rem_cons_in_exec 与 local_cons_in_exec 之和接近 max_coordagents,那么请增加 max_coordagents 的值。
local_start_time -“本地开始时间”监视元素
此活动开始作用于成员的时间。 这是本地时间。 如果此活动已进入系统,但由于正在队列中排队而尚未开始执行,那么此字段是空字符串。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_ACTIVITY 表函数 - 返回活动列表 | 始终收集 |
| MON_GET_ACTIVITY_DETAILS 表函数-获取完整的活动详细信息 (在 DETAILS XML 文档中报告) | 始终收集 |
| WLM_GET_WORKLOAD_实例 _ACTIVITIES 表函数-返回活动列表 | 始终收集 |
用法
local_tier_write_bytes-"要写入本地层的字节数" 监视元素
写入远程表空间的本地层存储器的字节数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_BUFFERPOOL 表函数 - 获取缓冲池指标 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | DATA OBJECT METRICS BASE |
| MON_GET_TABLESPACE 表函数 - 获取表空间指标 | DATA OBJECT METRICS BASE |
local_tier_write_reqs-"本地层的写请求" 监视元素
远程表空间的本地层写请求数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_BUFFERPOOL 表函数 - 获取缓冲池指标 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | DATA OBJECT METRICS BASE |
| MON_GET_TABLESPACE 表函数 - 获取表空间指标 | DATA OBJECT METRICS BASE |
local_tier_write_time-"写入耗用时间" 监视元素
写入远程表空间的本地层存储器所耗用的时间 (以毫秒计)。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_BUFFERPOOL 表函数 - 获取缓冲池指标 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | DATA OBJECT METRICS BASE |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | DATA OBJECT METRICS BASE |
| MON_GET_TABLESPACE 表函数 - 获取表空间指标 | DATA OBJECT METRICS BASE |
local_transaction_id -“本地事务标识”监视元素
事件发生时正使用的本地事务标识。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 变更历史记录 | DDLSTMTEXEC TXNCOMPLETION |
始终收集 |
| 工作单元 | uow |
用法
对于变更历史记录事件监视器,这是事件发生时正使用的本地事务标识。 这是作为事务日志一部分的 SQLU_TID 结构。location -“位置”监视元素
标识与该事件相关联的位置。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 变更历史记录 | UTILLOCATION | 始终收集 |
用法
对于变更历史记录事件监视器,位置取决于 UTILITY_TYPE,例如,装入输入文件或备份目标路径名。location_type -“位置类型”监视元素
此位置的用途描述。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 变更历史记录 | UTILLOCATION | 始终收集 |
用法
utility_type 元素为 LOAD,那么为下列其中一个:- C
- 复制目标
- D
- 输入数据
- L
- LOB 路径
- X
- XML 路径
utility_type 元素为 BACKUP,那么为下列其中一个:- B
- 备份目标位置
utility_type 元素为 RESTORE,那么为下列其中一个:- S
- 复原源位置
utility_type 元素为 ROLLFORWARD,那么为下列其中一个:- O
- 作为 ROLLFORWARD DATABASE 命令的一部分捕获的备用溢出日志路径。 请注意,如果使用缺省溢出日志路径,那么不会捕获任何位置记录。
lock_attributes -“锁定属性”监视元素
当前正在挂起锁定的应用程序的锁定属性。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
| 表函数中的锁定属性值 注: 事件监视器将此元素作为 char (8) 字段返回。
|
API 常量 | 描述 |
|---|---|---|
| 0000000000000001 | SQLM_LOCKATTR_WAIT_FOR_AVAIL | 等待可用性。 |
| 0000000000000002 | SQLM_LOCKATTR_ESCALATED | 由升级获取。 |
| 0000000000000004 | SQLM_LOCKATTR_RR_IN_BLOCK | 块中的 RR 锁定。 |
| 0000000000000008 | SQLM_LOCKATTR_INSERT | 插入锁定。 |
| 0000000000000010 | SQLM_LOCKATTR_RR | 由 RR 扫描锁定。 |
| 0000000000000020 | SQLM_LOCKATTR_UPDATE_DELETE | 更新/删除行锁定。 |
| 0000000000010000 | SQLM_LOCKATTR_INDOUBT | 由不确定事务挂起的锁定。 |
| 0000000010000000 | SQLM_LOCKATTR_ALLOW_NEW | 允许新锁定请求。 |
| 0000000020000000 | SQLM_LOCKATTR_NEW_REQUEST | 新锁定请求者。 |
已返回、但是未列示在上面显示的表中的位将保留给内部使用。
lock_count -“锁定计数”监视元素
当前挂起的锁定数目。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
此值的范围为 0 到 255。 获得新锁定时,此值递增;释放锁定时,此值递减。
- lock_count 监视元素值因为获取新锁定而递增 255 次。
- 显式获得事务持续时间锁定。 例如使用 LOCK TABLE 语句或 INSERT 语句。
lock_current_mode -“转换前的原始锁定方式”监视元素
在执行锁定转换操作期间,在完成转换之前,等待获取锁定的应用程序拥有的锁定方式。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
以下方案描述锁定转换示例。 在更新或删除操作期间,可以等待针对目标行的 X 锁定。 如果事务要挂起针对行的 S 或 V 锁定,那么需要转换。 此时将对 lock_current_mode 元素指定值 S 或 V,而锁定等待转换为 X 锁定。
下表列示了可能采用的锁定方式。
| 方式 | 锁定类型 | API 常量 | 数字值 |
|---|---|---|---|
| 无锁定 | SQLM_LNON | 0 | |
| IS | 意向共享锁定 | SQLM_LOIS | 1 |
| IX | 意向互斥锁定 | SQLM_LOIX | 2 |
| S | 共享锁定 | SQLM_LOOS | 3 |
| SIX | 与意向互斥锁定共享 | SQLM_LSIX | 4 |
| X | 互斥锁定 | SQLM_LOOX | 5 |
| IN | Intent None | SQLM_LOIN | 6 |
| Z | 超级互斥锁定 | SQLM_LOOZ | 7 |
| U | 更新锁定 | SQLM_LOOU | 8 |
| NS | 扫描共享锁定 | SQLM_LONS | 9 |
| NX | 下一键互斥锁定 | SQLM_LONX | 10 |
| W | 弱互斥锁定 | SQLM_LOOW | 11 |
| NW | 下一键弱互斥锁定 | SQLM_LONW | 12 |
lock_escalation -“锁定升级”监视元素
指示正在等待获取此锁定的应用程序是否是锁定升级请求的结果。 可能值为 Y(Yes)和 N(No)。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 锁定 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
| 带有详细信息的死锁1 | event_detailed_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
使用此元素来更好地理解死锁的原因。 如果遇到涉及执行锁定升级的应用程序的死锁,那么您可能想要增加锁定内存量或更改任一应用程序可请求的锁定百分比。
lock_escals -“锁定升级次数”监视元素
锁定已从若干行锁定升级至表锁定的次数。
DB2_AVOID_LOCK_ESCALATION 为 ON 时,数据库不会执行锁定升级。 相反,避免锁定升级,并且 lock_escals 监视元素用于计算数据库避免升级的次数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 数据库 | event_db | 始终收集 |
| 连接 | event_conn | 始终收集 |
| 事务 | event_xact | 始终收集 |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
用法
当应用程序挂起的锁定总数达到可供应用程序使用的最大锁定列表空间量,或者所有应用程序消耗的锁定列表空间达到总锁定列表空间时,锁定将会升级。 可用锁定列表空间量由 maxlocks 和 locklist 配置参数确定。
当应用程序达到允许的最大锁定数并且没有其他要升级的锁定时,它将使用锁定列表中为其他应用程序分配的空间。 当整个锁定列表已满时,将发生错误。
该数据项包括所有锁升级的计数,包括独占锁升级和环境中的升级。 Db2 pureScale® 环境中的升级。 要确定 Db2® pureScale 环境中的锁升级,请使用 lock_escals_global monitor 元素。
- 锁定列表大小(locklist)对于并行应用程序数目而言可能太小
- 可供每个应用程序使用的锁定列表百分比 (maxlocks) 可能太小
- 一个或多个应用程序使用的锁定数可能过量。
- 在 Db2 pureScale 环境中,全局锁定列表大小 (cf_lock_sz) 可能太小。
- 增加 locklist 配置参数值。
- 增加 maxlocks 配置参数值。
- 确定执行大量锁定的应用程序,或者使用以下一个公式并将值与 maxlocks 进行比较来确定过多占用锁定列表的应用程序:
- 在 64 位系统上,
(((locks held * 64) / (locklist * 4096)) * 100) - 在 32 位系统上,
(((locks held * 48) / (locklist * 4096)) * 100)
- 在 64 位系统上,
lock_escals_global -“全局锁定升级数”监视元素
因为全局锁定内存使用达到 cf_lock_sz 数据库配置参数中指定的限制的锁定升级数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
将此监视元素与 lock_escals_maxlocks 和 lock_escals_locklist 监视元素配合使用以确定导致数据库上发生升级的锁定空间配置参数。
lock_escals_locklist -“locklist 锁定升级数”监视元素
因为局部锁定内存使用达到 locklist 数据库配置参数中指定的限制的锁定升级数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
将此监视元素与 lock_escals_maxlocks 和 lock_escals_global 监视元素配合使用以确定导致数据库上发生升级的锁定空间配置参数。
lock_escals_maxlocks -“maxlocks 锁定升级数”监视元素
因为局部锁定内存使用达到 maxlocks 数据库配置参数中指定的限制的锁定升级数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
将此监视元素与 lock_escals_locklist 和 lock_escals_global 监视元素配合使用以确定导致数据库上发生升级的锁定空间配置参数。
lock_hold_count -“锁定挂起计数”监视元素
挂起锁定的次数。 挂起锁定是由使用 WITH HOLD 子句和一些实用程序注册的游标来完成。 落实事务时,不会释放仍挂起的锁定。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
lock_list_in_use -“正在使用的锁定列表内存总量”监视元素
正在使用的锁定列表内存总量(以字节计)。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_DATABASE 表函数-获取数据库级别信息 | 始终收集 |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
用法
此元素可以与 locklist 配置参数配合使用以计算锁定列表利用率。 如果锁定列表利用率很高,那么您可能要考虑增大该参数。
lock_mode -“锁定方式”监视元素
正在挂起的锁定的类型。 如果不知道方式,那么此监视元素的值为 NULL。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 锁定 |
| 锁定 | 锁定 | 锁定 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁1 | 锁定 | - |
| 死锁1 | event_dlconn | - |
| 带有详细信息的死锁1 | event_detailed_dlconn | - |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
此方式可帮助您确定资源争用的源头。
- 另一应用程序针对此应用程序等待锁定的对象挂起的锁定类型(对于应用程序监视级别和死锁监视级别)。
- 此应用程序针对对象挂起的锁定类型(对于对象锁定级别)。
此字段的可能值包括:
| 方式 | 锁定类型 | API 常量 | 数字值 |
|---|---|---|---|
| 无锁定 | SQLM_LNON | 0 | |
| IS | 意向共享锁定 | SQLM_LOIS | 1 |
| IX | 意向互斥锁定 | SQLM_LOIX | 2 |
| S | 共享锁定 | SQLM_LOOS | 3 |
| SIX | 与意向互斥锁定共享 | SQLM_LSIX | 4 |
| X | 互斥锁定 | SQLM_LOOX | 5 |
| IN | Intent None | SQLM_LOIN | 6 |
| Z | 超级互斥锁定 | SQLM_LOOZ | 7 |
| U | 更新锁定 | SQLM_LOOU | 8 |
| NS | 扫描共享锁定 | SQLM_LONS | 9 |
| NX | 下一键互斥锁定 | SQLM_LONX | 10 |
| W | 弱互斥锁定 | SQLM_LOOW | 11 |
| NW | 下一键弱互斥锁定 | SQLM_LONW | 12 |
lock_mode_requested -“请求的锁定方式”监视元素
等待获取锁定的应用程序请求的锁定方式。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
| 带有详细信息的死锁1 | event_detailed_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
应用程序请求的锁定方式。 此值可帮助您确定资源争用的源头。
下表列示了可能采用的锁定方式。
| 方式 | 锁定类型 | API 常量 | 数字值 |
|---|---|---|---|
| 无锁定 | SQLM_LNON | 0 | |
| IS | 意向共享锁定 | SQLM_LOIS | 1 |
| IX | 意向互斥锁定 | SQLM_LOIX | 2 |
| S | 共享锁定 | SQLM_LOOS | 3 |
| SIX | 与意向互斥锁定共享 | SQLM_LSIX | 4 |
| X | 互斥锁定 | SQLM_LOOX | 5 |
| IN | Intent None | SQLM_LOIN | 6 |
| Z | 超级互斥锁定 | SQLM_LOOZ | 7 |
| U | 更新锁定 | SQLM_LOOU | 8 |
| NS | 扫描共享锁定 | SQLM_LONS | 9 |
| NX | 下一键互斥锁定 | SQLM_LONX | 10 |
| W | 弱互斥锁定 | SQLM_LOOW | 11 |
| NW | 下一键弱互斥锁定 | SQLM_LONW | 12 |
lock_name -“锁定名称”监视元素
内部二进制锁定名称。 此元素将充当锁定的唯一标识。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 锁定 | lock_wait | lock_wait |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁1 | 锁定 | - |
| 死锁1 | event_dlconn | - |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
可以通过使用 MON_FORMAT_LOCK_NAME 例程获取有关锁定的更多详细信息,从而调整内部名称的格式。 例如,如果这是表锁定,那么可以获得该锁定引用的表和表空间。
lock_node -“锁定节点”监视元素
锁定涉及的节点。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | subsection | 语句 |
| 死锁数 | event_dlconn | 语句 |
| 带有详细信息的死锁 | event_detailed_dlconn | 语句 |
- 用法
- 它可以用于故障诊断。
lock_object_name -“锁定对象名称”监视元素
此元素仅供参考。 它是应用程序对其挂起锁定的对象的名称(对于对象锁定级别信息),或者应用程序等待对其获取锁定的对象的名称(对于应用程序级别和死锁级别信息)。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 锁定 |
| 锁定 | appl_lock_list | 锁定 |
| 锁定 | 锁定 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 死锁数 | 锁定 | 始终收集 |
| 死锁数 | event_dlconn | 始终收集 |
| 带有详细信息的死锁 | event_detailed_dlconn | 始终收集 |
- 用法
- 对于表级别锁定,该对象名是 SMS 和 DMS 表空间的文件标识(FID)。 对于行级别锁定,该对象名是行标识(RID)。 对于表空间锁定,该对象名留为空白。 对于缓冲池锁定,该对象名是缓冲池的名称。
要确定挂起锁定的表,请使用 table_name 和 table_schema 而不是文件标识,原因是文件标识可能不是唯一的。
要确定挂起锁定的表空间,请使用 tablespace_name。
lock_object_type -“等待的锁定对象类型”监视元素
应用程序对其挂起锁定的对象的类型(对于对象锁定级别信息),或者应用程序等待对其获取锁定的对象的类型(对于应用程序级别和死锁级别信息)。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_FORMAT_LOCK_NAME 表函数-格式化内部锁定名称并返回详细信息 | 始终收集 |
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 锁定 |
| 锁定 | appl_lock_list | 锁定 |
| 锁定 | 锁定 | 基本 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁1 | 锁定 | - |
| 死锁1 | event_dlconn | - |
| 带有详细信息的死锁1 | event_detailed_dlconn | - |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
此元素可帮助您确定资源争用的源头。
- 表空间(sqlmon.h 中的 SQLM_TABLESPACE_LOCK)
- 表
- 缓冲池
- 块
- 记录(或行)
- 数据分区(sqlmon.h 中的 SQLM_TABLE_PART_LOCK)
- 内部 ( 数据库管理器内部持有的另一种类型的锁定)
- 自动调整大小
- 自动存储器。
对于表 1 中的锁定事件监视器和监视表函数,lock_object_type 监视元素的可能值是在表 4 中定义的。
| 可能的值 | 描述 |
|---|---|
| 表 | 表锁定 |
| ROW | 行锁定 |
| TABLESPACE | 表空间锁定 |
| EOT | 表锁定结束 |
| KEYVALUE | 键值锁定 |
| SYSBOOT | Sysboot lock |
| PLAN | 方案锁定 |
| VARIATION | 变体锁定 |
| SEQUENCE | 序列锁定 |
| BUFFERPOOL | 缓冲池锁定 |
| LOB | LOB/Long 区域锁定 |
| 目录 | 目录高速缓存锁定 |
| ONLINE_BACKUP | 联机备份锁定 |
| OBJECT_TABLE | 对象表锁定 |
| ALTER_TABLE | 表改变锁定 |
| DMS_SEQUENCE | DMS 序列锁定 |
| 重组 | 现场重组锁定 |
| MDC_BLOCK | MDC 块锁定 |
| TABLE_PARTITION | 表分区锁定 |
| AUTORESIZE | 自动调整大小锁定 |
| AUTOSTORAGE | 自动存储器锁定 |
| XMLPATH | XML 路径锁定 |
| EXTENT_MOVEMENT | 扩展数据块移动锁定 |
| WORKLOAD | 工作负载权限锁定 |
| FED_SERVER | 联合服务器锁定 |
| FED_USER | 联合用户映射锁定 |
| CHUNK | 大块锁定 |
| LOAD_PRE_PART | 装入表预分区锁定 |
| LOAD_PART | 装入表分区锁定 |
| LOAD_TS | 装入表空间锁定 |
| LONG_FIELD_ESC | 长字段升级锁定 |
| LONG_FIELD_SPACE | 长字段伙伴空间锁定 |
| INSERT_RANGE | 插入范围锁定 |
| COL_TABLE_SERIALIZE | 按列组织的表更新/删除序列化锁定。 |
lock_object_type_id -“等待的内部锁定对象类型”监视元素
此元素已保留以供内部使用。
请参见 lock_object_type 监视元素,以获取有关正等待或持有其锁定的对象类型的详细信息。
lock_release_flags -“锁定释放标志”监视元素
锁定释放标志。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
| 死锁1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
| API 常量 | 描述 |
|---|---|
| SQLM_LOCKRELFLAGS_SQLCOMPILER | SQL 编译器进行的锁定。 |
| SQLM_LOCKRELFLAGS_UNTRACKED | 非唯一的未记录锁定。 |
lock_status -“锁定状态”监视元素
指示锁定的内部状态。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数-列示当前连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | 锁定 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁1 | 锁定 | 始终收集 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
此元素可帮助说明应用程序等待获取对某个对象的锁定时所发生的情况。 虽然可能已经具有对所需对象的锁定,但应用程序必须等待以获取对同一对象的另一类型的锁定。
- G
- 已授予状态:应用程序的锁定处于 lock_mode 监视元素所指定状态的锁定。
- C
- 正在转换状态:应用程序正在尝试将挂起的锁定更改为另一类型;例如,从共享锁定更改为互斥锁定。
- W
- 正在等待状态。
| 锁定事件监视器 | 快照 API 和死锁事件监视器 |
|---|---|
| 1 - 已授予 | 1 - 已授予 |
| 4 - 正在转换 | 2 - 正在转换 |
| 2 - 正在等待 | 不适用 |
lock_timeout_val -“锁定超时值”监视元素
指示应用程序发出 SET CURRENT LOCK TIMEOUT 语句时的超时值(以秒计)。 如果未执行语句,那么将显示数据库级别锁定超时。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 基本 |
| 应用程序 | agent | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
用法
可使用 SET CURRENT LOCK TIMEOUT 语句来指定应用程序代理程序等待表或索引锁定的最长持续时间。
如果应用程序等待锁定的时间过长,那么可以检查 lock_timeout_val 监视元素值以了解该值在应用程序中是否设置得过高。 如果符合应用程序逻辑,那么可以修改应用程序以降低锁定超时值,从而允许应用程序超时。 可使用 SET CURRENT LOCK TIMEOUT 语句来完成此修改。
如果应用程序经常超时,那么请检查锁定超时值是否设置得过低,并在适当时增大该值。
lock_timeouts -“锁定超时次数”监视元素
要锁定对象的请求由于发生超时而未获得锁定的次数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 数据库 | event_db | 始终收集 |
| 连接 | event_conn | 始终收集 |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
用法
此元素可帮助您调整 locktimeout 数据库配置参数的设置。 如果锁定超时次数与正常操作水平相比显得过多,那么可能表明应用程序挂起锁定的时间过长。 在这种情况下,此元素可能指示应该分析其他某些锁定和死锁监视元素,以确定是否存在应用程序问题。
如果 locktimeout 数据库配置参数设置得过大,那么锁定超时情况将会过少。 在这种情况下,应用程序在获取锁定前的等待时间将会过长。
lock_timeouts_global -“锁定超时全局”监视元素
锁定超时数,持有此锁定的应用程序在远程成员上。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
lock_timeouts - lock_timeouts_global 在 Db2 pureScale 环境外部,此值始终为零。
lock_wait_end_time -“锁定等待结束时间戳记”监视元素
应用程序停止等待获取对当前锁定的对象的锁定的日期和时间。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock_participants |
lock_wait_start_time -“锁定等待开始时间戳记”监视元素
此应用程序开始等待获取锁定的日期和时间,该锁定针对当前被另一应用程序锁定的对象。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数-获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 锁定,时间戳记 |
| 锁定 | lock_wait | 锁定,时间戳记 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | event_dlconn | 时间戳记 |
| 带有详细信息的死锁 1 | event_detailed_dlconn | 时间戳记 |
- 1
- 建议不要使用此事件监视器。 建议不要再使用此选项,并且在将来的发行版中可能会将其移除。 使用 CREATE EVENT MONITOR for lock 语句来监视与锁定相关的事件,例如锁定超时,锁定等待和死锁。
用法
此元素可帮助您确定资源争用的严重性。
lock_wait_time -“等待锁定时间”监视元素
等待锁定的耗用总时间。 此值以毫秒计。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 锁定 |
| 应用程序 | appl | 锁定 |
| 锁定 | appl_lock_list | appl_lock_list |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 数据库 | event_db | 始终收集 |
| 连接 | event_conn | 始终收集 |
| 事务 | event_xact | 始终收集 |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
用法
在数据库级别,此项表示所有应用程序在此数据库中等待锁定的总次数。 此耗用时间度量可能包括活动期间获取锁定所耗的时间以及其他处理(例如,编译)期间获取锁定所耗的时间。
在应用程序连接和事务级别,此项表示此连接或事务等待授予锁定的耗用时间总计。
此元素的值不包括当前仍处于锁定等待状态的代理程序的锁定等待时间。 它仅包括已完成锁定等待的代理程序的锁定等待时间。
此元素可与 lock_waits 监视元素一起使用以计算锁定的平均等待时间。 此计算可在数据库级别或应用程序连接级别执行。
- 耗用时间受系统负载影响,所以运行的进程越多,此耗用时间值越高。
- 要在数据库级别计算此元素, 数据库系统监视器 会将应用程序级别时间相加。 这会导致对数据库级别的耗用时间双倍计数,原因是多个应用程序进程可能同时运行。
为提供有意义的数据,可计算锁定的平均等待时间,如上所述。
lock_wait_time_global -“锁定等待时间全局”监视元素
在全局锁定等待上所耗用的时间。 时间的度量单位为毫秒。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
lock_wait_time - lock_wait_time_global 在 Db2 pureScale 环境外部,此值始终为零。
lock_wait_time_global_top -“最长全局锁定等待时间”监视元素
在另一成员上挂起的锁定的最长锁定等待。 此值以毫秒计。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 统计信息 | event_wlstats | 始终收集 |
lock_wait_time_top -“最长锁定等待时间”监视元素
工作负载中任何请求的锁定等待时间的高水位标记。 单位为毫秒。 系统始终对工作负载收集 lock_wait_time_top 高水位标记。 仅当启用了请求指标时,请求才会影响此高水位标记。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 统计信息 | event_wlstats | 始终收集 |
用法
使用此元素来确定在收集时间间隔内,分区中某个工作负载的任何请求的最大锁定等待时间。
lock_wait_val -“锁定等待值”监视元素
生成 mon_lockwait 的事件之前等待锁定时耗用的时间(以毫秒计)。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock_participants |
lock_waits -“等待锁定次数”监视元素
应用程序或连接等待锁定的总次数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 数据库 | event_db | 始终收集 |
| 连接 | event_conn | 始终收集 |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
用法
在数据库级别,此项表示应用程序在数据库中等待锁定的总次数。
在应用程序连接级别,此项表示此连接请求锁定但必须等待(因为另一连接已经挂起针对该数据的锁定)的总次数。
此元素可与 lock_wait_time 配合使用以在数据库级别计算锁定的平均等待时间。 此计算可在数据库级别或应用程序连接级别完成。
如果平均锁定等待时间很长,那么应查找挂起许多锁定或具有锁定升级的应用程序,并把重点放在调整应用程序以改进并行性上(如果适当)。 如果平均锁定等待时间很长是升级导致的,那么 locklist 和/或 maxlocks 配置参数的值可能太低了。
lock_waits_global -“锁定等待全局”监视元素
因为持有针对远程成员的锁定的应用程序而导致的锁定等待数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 包高速缓存 | - | ACTIVITY METRICS BASE |
用法
lock_waits - lock_waits_global 在 Db2 pureScale 环境外部,此值始终为零。
locks_held -“挂起的锁定数”监视元素
当前挂起的锁定数目。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | 始终收集 |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 锁定 | db_lock_list | 基本 |
| 锁定 | appl_lock_list | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 带有详细信息的死锁 | event_detailed_dlconn | 始终收集 |
用法
如果监视器信息为数据库级别,那么此项表示数据库中的所有应用程序当前挂起的总锁定数。
如果监视器信息为应用程序级别,那么此项表示应用程序的所有代理程序当前挂起的总锁定数。
locks_held_top -“挂起的最大锁定数”监视元素
此事务期间挂起的最大锁定数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 事务 | event_xact | 始终收集 |
用法
可使用此元素来确定应用程序是否达到 maxlocks 配置参数定义的最大可用锁定数。 此参数指示发生锁定升级之前每个应用程序可以使用的锁定列表百分比。 锁定升级可能导致连接至数据库的应用程序之间的并行度下降。
- 在 64 位系统上,
(locklist * 4096 / 64 ) * (maxlocks / 100) - 在 32 位系统上,
(locklist * 4096 / 48 ) * (maxlocks / 100)
如果您有大量锁定,那么可能需要在应用程序中执行更多落实操作以便可以释放一些锁定。
locks_in_list -“报告的锁定数”监视元素
事件监视器要报告的特定应用程序挂起的锁定数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 带有详细信息的死锁 | event_detailed_dlconn | 始终收集 |
locks_waiting -“当前正在等待锁定的代理程序数”监视元素
指示正在等待锁定的代理程序数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | 始终收集 |
| MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息度量值 | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 锁定 | db_lock_list | 基本 |
用法
与 appls_cur_cons 一起使用时,此元素指示正在等待锁定的应用程序所占的百分比。 如果此数目很大,那么应用程序可能存在并行性问题,您应当指定长时间挂起锁定或互斥锁定的应用程序。
log_buffer_wait_time -“日志缓冲区等待时间”监视元素
代理程序等待日志缓冲区空间时耗用的时间。 此值以毫秒计。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
log_disk_wait_time -“日志磁盘等待时间”监视元素
代理程序等待日志记录被清仓到磁盘时耗用的时间。 此值以毫秒计。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
log_disk_waits_total -“日志磁盘等待总次数”监视元素
代理程序被迫等待日志数据被写入磁盘的次数。
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_superclassstats(在指标文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在指标文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
LOG_EXTRACTION_DISK_SPACE_USED -“抽取日志的字节数”监视元素
此事务的抽取日志文件中使用的字节数。 DB2_ADVANCED_LOG_SPACE_MGMT=ON,否则为 0。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数 - 以 XML 文档形式获取工作单元指标 | 始终收集 |
log_extraction_status -“抽取的当前状态”监视元素
使用 log_extraction_status 监视元素来确定抽取的当前状态。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
-
Extraction Status
- 值可以是n/a (0),Error (1),Active (2)或Recovery (3).
log_extraction_throttle_reason -“抽取节流的原因”监视元素
使用 log_extraction_throttle_reason 监视元素来确定抽取节流的原因。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
- 发生调速时
- 节流可以因为下列任何原因而发生:
- 未启用节流
- 节流不可用,例如,因为已禁用 ALSM。
- 限制原因:
n/a
- 磁盘已满
- 在运行时和恢复撤消期间,如果抽取日志文件会干扰为数据库配置的日志文件数的上限,请限制抽取。 此规则可确保抽取文件所需的磁盘空间不是取自配置给数据库的日志空间。 在常规日志记录活动期间,活动日志路径中的磁盘空间不足可能会导致数据库意外关闭,因此,这种情况会使所有其他节流原因无效。
此规则会对 logprimary 和 logsecond 数据库配置参数进行解释,并确保抽取日志文件不会破坏此空间。 在某些特殊情况下,当 Db2 最终的主日志文件数可能多于(例如,运行抽取时)或少于(例如,数据库正被激活并且日志文件正被异步分配时)logprimary 指定的数目。 此外,logsecond 参数可以动态更改。 该规则会考虑所有此类情况。
在 HADR 备用数据库上启用日志假脱机时,系统会限制抽取以保护用于日志假脱机的磁盘空间。 如果数据库 hadr_spool_limit 配置参数设置为固定值,那么此规则将确保抽取不会占用日志假脱机所需要的任何磁盘空间。 如果 hadr_spool_limit 设置为 AUTOMATIC 并且磁盘空间有限,那么此规则会强制抽取以在自身与日志假脱机之间共享磁盘空间。 如果 hadr_spool_limit 设置为 -1,那么此规则将不会限制抽取。
- 限制原因:
DISK_FULL
- 在运行时和恢复撤消期间,如果抽取日志文件会干扰为数据库配置的日志文件数的上限,请限制抽取。 此规则可确保抽取文件所需的磁盘空间不是取自配置给数据库的日志空间。 在常规日志记录活动期间,活动日志路径中的磁盘空间不足可能会导致数据库意外关闭,因此,这种情况会使所有其他节流原因无效。
- 与活动日志文件的距离
- 如果正在考虑抽取的日志文件是要写入的当前活动日志文件,那么会进行节流抽取。 抽取仅针对已关闭的日志文件进行。
- 限制原因:
CURRENT_ACTIVE_FILE
- 日志归档
- 如果尚未对数据库启用日志归档,或者考虑抽取的日志文件尚未归档,那么对抽取进行节流。 正在等待归档的活动日志文件将始终保留在活动日志路径中,并且抽取操作只会复制磁盘空间,而没有任何其他好处。
- 限制原因:
LOG_ARCHIVING
- 日志空间使用率
- 当消耗的活动日志空间低于所计算的阈值时,将进行节流抽取。 此规则旨在节省系统资源,并确保仅当数据库快要用尽已配置的日志空间时,抽取才会开始。
- 限制原因:
DB_LOG_SPACE_USED
- 抽取比率
- 如果抽取的数据总量超过计算而得的已配置日志空间百分比限制,那么对抽取进行节流。 此规则的目的是避免针对超大事务执行抽取,从而避免重复活动日志文件中的内容。
- 限制原因:
EXTRACTION_RATIO
- 新的抽取区域
- 如果已检测到新的抽取区,并且不再需要此区域之前的任何抽取日志文件,那么不抽取数据。 抽取区就是抽取扫描需要处理的日志记录范围(从开头到结尾)。
- 限制原因:
NEW_EXTRACTION_ZONE
- 需要清空缓冲池
- 如果当前处理的日志记录尚未转存到磁盘,那么会进行节流抽取。 为了便于恢复,将始终需要尚未从缓冲池中清空的日志记录,因此始终需要抽取这些日志记录。 这可以由数据库配置参数 PAGE_AGE_TRGT_MCR 和 PAGE_AGE_TRGT_GCR 控制。
- 限制原因:
SLOW_BP_FLUSH
- 先前抽取错误
- 如果需要跳过当前处理的日志文件,那么会进行节流抽取。 当遇到某些类型的错误时,抽取扫描程序可能会决定跳过当前处理的日志文件,而在下一个日志文件中重新开始扫描。
- 限制原因:
SCAN_ERROR
log_hadr_wait_cur -“当前记录器等待时间”监视元素
在将日志数据以本地方式写入磁盘之后, HADR 日志发送请求上的当前记录器等待时间。 这可以被视为在系统的日志记录性能上具有 HADR 功能的额外开销。 如果记录器未在等待 HADR ,那么返回 0。 如果等待时间达到对等等待限制,那么 HADR 将脱离对等状态以解锁主数据库。 如果记录器已完全被阻止,那么 log_hadr_wait_cur 和 log_hadr_wait_time 将实时增长,而 log_hadr_waits_total 保持不变。 单位为毫秒。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_HADR 表函数 - 返回高可用性灾难恢复 (HADR) 监视信息 | 始终收集 |
log_hadr_wait_time -“记录器总等待时间”监视元素
在将日志数据以本地方式写入磁盘之后,记录器等待 HADR 以交付日志所耗用的总时间。 这可以被视为在系统的日志记录性能上具有 HADR 功能的额外开销。 通过 log_hadr_wait_time 和 log_hadr_waits_total,您可计算任意时间间隔内每次日志刷新的平均 HADR 等待时间。 表函数 mon_get_transaction_log 也会报告这两个字段。 单位为毫秒。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_HADR 表函数 - 返回高可用性灾难恢复 (HADR) 监视信息 | 始终收集 |
log_hadr_waits_total -“记录器等待事件总数”监视元素
记录器中的 HADR 等待事件总数。 每次记录器在 HADR 日志交付期间启动等待时,此计数都会增加,即使等待立即返回。 因此,此计数实际上是处于对等状态的日志刷新数。 通过 log_hadr_wait_time 和 log_hadr_waits_total,您可计算任意时间间隔内每次日志刷新的平均 HADR 等待时间。 表函数 mon_get_transaction_log 也会报告这两个字段。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_HADR 表函数 - 返回高可用性灾难恢复 (HADR) 监视信息 | 始终收集 |
log_held_by_dirty_pages -“脏页占用的日志空间量”监视元素
对应数据库中的最旧脏页与活动日志顶部之间的差的日志量(以字节计)。
- 元素标识
- log_held_by_dirty_pages
- 元素类型
- 水位标记
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 获取快照时,将根据该快照的时间上的条件计算此值。
使用此元素来评估对缓冲池中的旧页进行页清除的效果。
缓冲池中的旧页清除由 page_age_trgt_mcr 数据库配置参数控制。
如果要求脏页占用的日志少一些,例如,要减少崩溃恢复时间,那么请减小 page_age_trgt_mcr 配置参数。 如果此操作不会减少脏页所占用的日志量,那么增大页清除程序数 (num_iocleaners) 配置参数。
log_read_time -“日志读取时间”监视元素
记录器从磁盘读取日志数据的耗用总时间。 对于写至表的事件监视器,此元素的值将通过使用 BIGINT 数据类型以微秒为单位给定。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 将此元素与 log_reads、num_log_read_io
和 num_log_data_found_in_buffer 元素一起使用来确定以下情况是否属实:
- 当前磁盘对于记录操作而言是够用的。
- 日志缓冲区大小够用。
log_reads -“读取的日志页数”监视元素
记录器从磁盘读取的日志页数。
- 元素标识
- log_reads
- 元素类型
- 计数器
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 可将此元素与操作系统监视器配合使用来确定设备上可归因于数据库活动的 I/O 量。
log_to_redo_for_recovery -“要为恢复重做的日志量”监视元素
必须为崩溃恢复重做的日志量(以字节计)。
- 元素标识
- log_to_redo_for_recovery
- 元素类型
- 水位标记
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 获取快照时,将根据该快照的时间上的条件计算此值。 如果值较大,那么指示系统崩溃后的恢复时间较长。 如果值看起来过大,那么检查 log_held_by_dirty_pages 监视元素以了解是否需要调整页清除。 还应检查是否存在任何长时间运行并且需要终止的事务。
log_write_time -“日志写入时间”监视元素
记录器将日志数据写至磁盘的耗用总时间。 对于表函数接口,此值以毫秒为单位给出。 对于写至表的事件监视器,此元素的值将通过使用 BIGINT 数据类型以微秒为单位给定。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 将此元素与 log_writes 和 num_log_write_io 元素一起使用来确定当前磁盘对于记录操作而言是否够用。
log_writes -“写入的日志页数”监视元素
记录器写至磁盘的日志页数。
- 元素标识
- log_writes
- 元素类型
- 计数器
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TRANSACTION_LOG 表函数 - 获取日志信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | event_db | 始终收集 |
- 用法
- 可将此元素与操作系统监视器配合使用来确定设备上可归因于数据库活动的 I/O 量。注: 将日志页面写入磁盘时,最后一页可能未满。 在这种情况下,部分日志页保留在日志缓冲区中,而其他日志记录将写至页。 因此记录器可能会多次将日志页写至磁盘。 不应使用此元素来量度数据库系统生成的页数。
log_stream_id -“日志流标识”监视元素
用于识别要交付的日志流。 返回源数据库上的流标识。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_HADR 表函数 - 返回高可用性灾难恢复 (HADR) 监视信息 | 始终收集 |
long_object_l_pages -“长对象数据逻辑页数”监视元素
此表中包含的长数据在磁盘上使用的逻辑页数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_TABLE 表函数 - 获取表指标 | 始终收集 |
用法
- 此值可能小于实际上为该对象分配的空间量。 使用 TRUNCATE 语句的 REUSE STORAGE 选项时,可能会发生这种情况。 此选项导致为该表分配的存储空间继续被分配,尽管该存储空间被视为空。 此外,此监视元素的值可能小于逻辑上为该对象分配的空间量,因为逻辑上分配的空间总量包括少量附加元数据。
要检索对象的逻辑大小或物理大小的准确度量,请使用 ADMIN_GET_TAB_INFO_V97 函数。 此函数提供的有关对象大小的信息比您可(通过将针对此监视元素报告的页数乘以页大小)获取的对象大小更准确。
long_object_pages -“长对象页数”监视元素
表中的长数据消耗的磁盘页数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 表 | 表 | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 表 | event_table | 始终收集 |
- 用法
- 此元素提供了一种机制,可用来查看特定表中的长数据消耗的实际空间量。 此元素可与表事件监视器配合使用以跟踪一段时间内长数据的增长率。
long_tbsp_id -“长表空间标识”监视元素
一个表空间的标识,此表空间用于存放此表的长数据(LONG 或 LOB 类型的列)。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_TABLE 表函数 - 获取表指标 | 始终收集 |
用法
此元素的值与视图 SYSCAT.TABLESPACES 的列 TBSPACEID 中的值相匹配。
low_priority_act_total -“低优先级活动总数”监视元素
自从上次重置以来低优先级活动的总数。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_CONNECTION 表函数 - 获取连接度量值 | 始终收集 |
| MON_GET_CONNECTION_DETAILS 表函数-获取详细的连接指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_DATABASE 表函数-获取数据库级别信息 | 始终收集 |
| MON_GET_ROUTINE-获取例程表函数的聚集执行指标 | 始终收集 |
| MON_GET_ROUTINE_DETAILS-获取例程表函数的聚集执行指标详细信息 | 始终收集 |
| MON_GET_SERVICE_SUBCLASS 表函数 - 获取服务子类度量值 | 始终收集 |
| MON_GET_SERVICE_SUBCLASS_DETAILS 表函数 - 获取服务子类度量值(采用 XML 文档格式) | 始终收集 |
| MON_GET_SERVICE_SUPERCLASS 表函数-获取服务子类指标 | 始终收集 |
| MON_GET_SERVICE_SUPERCLASS_DETAILS 表函数-获取详细的服务子类指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_UNIT_OF_WORK 表函数 - 获取工作单元指标 | 始终收集 |
| MON_GET_UNIT_OF_WORK_DETAILS 表函数-获取详细的工作单元指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| MON_GET_WORKLOAD 表函数 - 获取工作负载度量值 | 始终收集 |
| MON_GET_WORKLOAD_DETAILS 表函数-获取详细的工作负载指标 (在 DETAILS XML 文档中报告) | 始终收集 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 程序包高速缓存语句逐出 | pkgcache_metrics | ACTIVITY METRICS BASE |
| 统计信息 | event_wlmetrics | REQUEST METRICS BASE |
| 统计信息 | event_scmetrics | REQUEST METRICS BASE |
| 工作单元 | uow_metrics | REQUEST METRICS BASE |
用法
使用此元素来确定自从上次重置以来低优先级活动的数量。