DB2V9.7 提供的锁定事件监视器可以捕获其锁定数据的活动的类型包括:
SQL 语句,例如:DML 、DDL 、CALL
LOAD 命令
REORG 命令
BACKUP DATABASE 命令
实用程序请求
在使用了 DB2V9.7 锁定事件监视器后,不推荐继续使用早期的死锁事件监视器(CREATE EVENT MONITOR FOR DEADLOCKS 语句和 DB2DETAILDEADLOCK),
同时不推荐使用锁定超时报告功能(DB2_CAPTURE_LOCKTIMEOUT 注册表变量)
1 锁监控配置参数
锁定超时事件数 (MON_LOCKTIMEOUT) = HIST_AND_VALUES
死锁事件数 (MON_DEADLOCK) = HIST_AND_VALUES
锁定等待事件数 (MON_LOCKWAIT) = HIST_AND_VALUES
锁定等待事件阈值 (MON_LW_THRESH) = 5000000
1.1 MON_LOCKWAIT
MON_LOCKWAIT 用于控制锁事件监控在捕获锁等待时搜集数据的详细程度,可以设置成以下值:
NONE,不会在任何分区中收集工作负载的锁定超时数据。
WITHOUT_HIST,发生锁定事件时,会将关于锁定事件的数据发送到任何活动的锁定事件监视器。不会将过去的活动历史记录以及输入值发送到事件监视器。
WITH_HIST,对于所有此类锁定事件,都可以收集当前工作单元中的过去活动历史记录。活动历史缓冲区将在达到最大大小限制后回绕。这意味着,要保留的过去活动数的缺省限制是 250。如果过去活动的数目高于此限制,那么将只报告最新的活动。
HIST_AND_VALUES,对于那些包含输入数据值的活动,会将那些输入数据值发送到任何活动的锁定事件监视器。这些数据值不包括 LOB 数据、更改开始 LONG VARCHAR 数据、LONG VARGRAPHIC 数据、更改结束结构化类型数据或 XML 数据。
1.2 MON_LW_THRESH
控制在生成 mon_lockwait 的事件之前等待锁定时花费的时间,以微秒为单位
MON_LOCKTIMEOUT 和 MON_DEADLOCK 取值范围与 MON_LOCKWAIT 相同
1.3 MON_DEADLOCK
1.4 MON_LOCKTIMEOUT
1.5 设置参数
db2 update db cfg for bkdb using MON_LOCKTIMEOUT HIST_AND_VALUES MON_DEADLOCK HIST_AND_VALUES MON_LOCKWAIT HIST_AND_VALUES MON_LW_THRESH 5000000
[db2inst1@aspDB01 ~]$ db2 get db cfg for bkdb1 | grep -i lock | grep -i mon
Lock timeout events (MON_LOCKTIMEOUT) = HIST_AND_VALUES
Deadlock events (MON_DEADLOCK) = HIST_AND_VALUES
Lock wait events (MON_LOCKWAIT) = HIST_AND_VALUES
Lock wait event threshold (MON_LW_THRESH) = 5000000
Lock event notification level (MON_LCK_MSG_LVL) = 1
1.6 锁超时和提交参数
db2 update db cfg for bkdb1 using LOCKTIMEOUT 60
db2 update db cfg for bkdb1 using CUR_COMMIT DISABLED--取消自动提交
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29023300/viewspace-2128769/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29023300/viewspace-2128769/