L
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 表函数 - 获取详细的工作单元指标(在 XML 文档 DETAILS 中报告) | 始终收集 |
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 表函数 - 获取详细的工作单元指标(在 XML 文档 DETAILS 中报告) | 始终收集 |
用法
仅对于应用程序的协调程序成员才会报告此监视元素。
- CLOSE
- COMMIT
- COMPILE
- DESCRIBE
- EXCSQLSET
- EXECIMMD
- EXECUTE
- FETCH
- INTERNAL number,其中 number 是内部常量的值
- OPEN
- PREPARE
- REBIND
- REDISTRIBUTE
- REORG
- ROLLBACK
- RUNSTATS
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_wcstats | - |
| 统计信息 | event_wlmetrics | 始终收集 |
| 统计信息 | event_wlstats | - |
用法
使用 wlm_last_reset 和 statistics_timestamp 监视元素来确定收集事件监视器统计信息记录中的统计信息的时间段。收集时间间隔从 wlm_last_reset 时间开始,并且在 statistics_timestamp 结束。
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 数据的增长率。
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_OCCURRENCE _ACTIVITIES 表函数 - 返回活动列表 | 始终收集 |
用法
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 | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
| 表函数中的锁定属性值 注: 事件监视器以 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 | 更新/删除行锁定。 |
| 0000000000000040 | SQLM_LOCKATTR_ALLOW_NEW | 允许新锁定请求。 |
| 0000000000000080 | SQLM_LOCKATTR_NEW_REQUEST | 新锁定请求者。 |
| 0000000000000200 | SQLM_LOCKATTR_INDOUBT | 由不确定事务挂起的锁定。 |
| 0000000000000400 | SQLM_LOCKATTR_LOW_PRIORITY | 由低优先级应用程序挂起的锁定。 |
已返回、但是未列示在上面显示的表中的位将保留给内部使用。
lock_count -“锁定计数”监视元素
当前挂起的锁定数目。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数 - 获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
此值的范围为 0 到 255。获得新锁定时,此值递增;释放锁定时,此值递减。
- lock_count 监视元素值因为获取新锁定而递增 255 次。
- 显式获得事务持续时间锁定。例如使用 LOCK TABLE 语句或 INSERT 语句。
lock_current_mode -“转换前的原始锁定方式”监视元素
在执行锁定转换操作期间,在完成转换之前,等待获取锁定的应用程序拥有的锁定方式。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数 - 获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数 - 列示当前所连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
以下方案描述锁定转换示例。在更新或删除操作期间,可以等待针对目标行的 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 | 锁定 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
| 带有详细信息的死锁 1 | event_detailed_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
使用此元素来更好地理解死锁的原因。如果遇到涉及执行锁定升级的应用程序的死锁,那么您可能想要增加锁定内存量或更改任一应用程序可请求的锁定百分比。
lock_escals -“锁定升级次数”监视元素
锁定已从若干行锁定升级至表锁定的次数。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | dbase | 基本 |
| 应用程序 | appl | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 活动 | event_activity(在 details_xml 文档中报告) | ACTIVITY METRICS BASE |
| 活动 | event_activitymetrics | ACTIVITY METRICS BASE |
| 统计信息 | event_scstats(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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 监视元素。
- 锁定列表大小(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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 工作单元 | - | REQUEST METRICS BASE |
| 程序包高速缓存 | - | ACTIVITY METRICS BASE |
用法
将此监视元素与 lock_escals_locklist 和 lock_escals_global 监视元素配合使用以确定导致数据库上发生升级的锁定空间配置参数。
lock_hold_count -“锁定挂起计数”监视元素
挂起锁定的次数。 使用 WITH HOLD 子句和一些 DB2 实用程序注册的游标放置在锁定上的挂起数。落实事务时,不会释放带有挂起的锁定。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
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 | 锁定 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁 1 | lock | - |
| 死锁 1 | event_dlconn | - |
| 带有详细信息的死锁 1 | event_detailed_dlconn | - |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
此方式可帮助您确定资源争用的源头。
- 另一应用程序针对此应用程序等待锁定的对象挂起的锁定类型(对于应用程序监视级别和死锁监视级别)。
- 此应用程序针对对象挂起的锁定类型(对于对象锁定级别)。
此字段的可能值包括:
| 方式 | 锁定类型 | 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 LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
应用程序请求的锁定方式。此值可帮助您确定资源争用的源头。
下表列示了可能采用的锁定方式。
| 方式 | 锁定类型 | 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 | 基本 |
| 锁定 | lock_wait | lock_wait |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁 1 | lock | - |
| 死锁 1 | event_dlconn | - |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
可以通过使用 MON_FORMAT_LOCK_NAME 例程获取有关锁定的更多详细信息,从而调整内部名称的格式。例如,如果这是表锁定,那么可以获得该锁定引用的表和表空间。
lock_node -“锁定节点”监视元素
锁定涉及的节点。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | subsection | 语句 |
| 死锁 | event_dlconn | 语句 |
| 带有详细信息的死锁 | event_detailed_dlconn | 语句 |
- 用法
- 它可以用于故障诊断。
lock_object_name -“锁定对象名称”监视元素
此元素仅供参考。它是应用程序对其挂起锁定的对象的名称(对于对象锁定级别信息),或者应用程序等待对其获取锁定的对象的名称(对于应用程序级别和死锁级别信息)。
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | appl | 锁定 |
| 锁定 | appl_lock_list | 锁定 |
| 锁定 | lock | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 死锁 | lock | 始终收集 |
| 死锁 | 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 | 基本 |
| 锁定 | lock_wait | 锁定 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | - |
| 死锁 1 | lock | - |
| 死锁 1 | event_dlconn | - |
| 带有详细信息的死锁 1 | event_detailed_dlconn | - |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
此元素可帮助您确定资源争用的源头。
- 表空间(sqlmon.h 中的 SQLM_TABLESPACE_LOCK)
- 表
- 缓冲池
- 块
- 记录(或行)
- 数据分区(sqlmon.h 中的 SQLM_TABLE_PART_LOCK)
- 内部(数据库管理器内部挂起的另一类型的锁定)
- 自动调整大小
- 自动存储器。
对于表 1 中的锁定事件监视器和监视表函数,lock_object_type 监视元素的可能值是在表 4 中定义的。
| 可能值 | 描述 |
|---|---|
| TABLE | 表锁定 |
| ROW | 行锁定 |
| TABLESPACE | 表空间锁定 |
| EOT | 表锁定结束 |
| KEYVALUE | 键值锁定 |
| SYSBOOT | Sysboot 锁定 |
| PLAN | 方案锁定 |
| VARIATION | 变体锁定 |
| SEQUENCE | 序列锁定 |
| BUFFERPOOL | 缓冲池锁定 |
| LOB | LOB/Long 区域锁定 |
| CATALOG | 目录高速缓存锁定 |
| ONLINE_BACKUP | 联机备份锁定 |
| OBJECT_TABLE | 对象表锁定 |
| ALTER_TABLE | 表改变锁定 |
| DMS_SEQUENCE | DMS 序列锁定 |
| REORG | 现场重组锁定 |
| 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 | 长字段伙伴空间锁定 |
lock_release_flags -“锁定释放标志”监视元素
锁定释放标志。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_LOCKS 表函数 - 列示当前所连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock | 基本 |
| 锁定 | lock_wait | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
| 死锁 1 | event_dlconn | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
| API 常量 | 描述 |
|---|---|
| SQLM_LOCKRELFLAGS_SQLCOMPILER | SQL 编译器进行的锁定。 |
| SQLM_LOCKRELFLAGS_UNTRACKED | 非唯一的未记录锁定。 |
lock_status -“锁定状态”监视元素
指示锁定的内部状态。
| 表函数 | 监视元素收集命令和级别 |
|---|---|
| MON_GET_APPL_LOCKWAIT 表函数 - 获取有关应用程序正在等待的锁定的信息 | 始终收集 |
| MON_GET_LOCKS 表函数 - 列示当前所连接的数据库中的所有锁定 | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | lock | 基本 |
| 事件类型 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 锁定 | - | 始终收集 |
| 死锁 1 | lock | 始终收集 |
- 1
- 建议不要使用此事件监视器。建议不要再使用此选项,将来的发行版可能会将其移除。请使用 CREATE EVENT MONITOR FOR LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
此元素可帮助说明应用程序等待获取对某个对象的锁定时所发生的情况。虽然可能已经具有对所需对象的锁定,但应用程序必须等待以获取对同一对象的另一类型的锁定。
- 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 表函数 - 获取详细的工作单元指标(在 XML 文档 DETAILS 中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 应用程序 | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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 LOCKING 语句来监视与锁定相关的事件,例如锁定超时、锁定等待和死锁。
用法
此元素可帮助您确定资源争用的严重性。
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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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 表函数 - 获取详细的工作单元指标(在 XML 文档 DETAILS 中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | 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 表函数 - 获取详细的工作单元指标(在 XML 文档 DETAILS 中报告) | 始终收集 |
| 快照级别 | 逻辑数据分组 | 监视开关 |
|---|---|---|
| 数据库 | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | 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(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 统计信息 | event_wlstats(在 metrics 文档中报告) | REQUEST METRICS BASE |
| 工作单元 | 在 system_metrics 文档中报告。 | REQUEST METRICS BASE |
| 程序包高速缓存 | 在 activity_metrics 文档中报告。 | ACTIVITY METRICS BASE |
log_hadr_wait_cur -“当前记录器等待时间”监视元素
HADR 日志交付请求上的当前记录器等待时间。如果记录器不等待,那么返回 0。如果等待时间达到对等等待限制,那么 HADR 将脱离对等状态以解锁主数据库。如果记录器已完全被阻止,那么 log_hadr_wait_cur 和 log_hadr_wait_time 将实时增长,而 log_hadr_waits_total 保持不变。单位为毫秒。
| 表函数 | 监视元素收集级别 |
|---|---|
| MON_GET_HADR 表函数 - 返回高可用性灾难恢复 (HADR) 监视信息 | 始终收集 |
log_hadr_wait_time -“记录器总等待时间”监视元素
记录器等待 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 量。
注: 当日志页写至磁盘时,最后一页可能未满。在这种情况下,部分日志页保留在日志缓冲区中,而其他日志记录将写至页。因此记录器可能会多次将日志页写至磁盘。不应使用此元素来量度 DB2 生成的页数。
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 中的值相匹配。