DB2 锁问题的监控和解决

常见的锁问题包括:

锁等待

锁超时

锁升级

死锁

而根据问题的特性通常分为两种:

实时事件:问题正在发生

历史事件:问题已经过去

如果实时事件,DBA 可以通过查看表信息、GET SNAPSHOT 或者 db2pd/db2top 查看数据库当前的锁状况;这毕竟少数,往往锁问题都是历史事件,应用通过查看日志才发现存在锁问题,这种情况下,需要数据库本身对锁事件进行监控,如果发生收集相关的信息,方便DBA去分析。

 
数据库版本实时事件监控工具历史事件监控工具
V9 之前的版本表函数 SNAP_GET_LOCKWAIT/GET SNAPSHOT FOR LOCKSdb2cos
V9.1新增管理视图 SYSIBMADM. SNAPLOCKWAITdb2cos
V9.5 db2cos
V9.7 事件监控/db2cos
   

 

通过事件监控抓取锁信息

配置方法

1. 创建事件监控(create event monitor)

1.1 创建bufferpool

1.2 创建临时表空间

1.3 创建事件监控

2. 配置数据库相关参数

事件监控类型相关数据库参数
锁等待事件监控MON_LOCKWAIT,MON_LW_THRESH                                                                                                                                       
锁超时事件监控MON_LOCKTIMEOUT,LOCKTIMEOUT
死锁事件监控MON_DEADLOCK,DLCHKTIME
数据库参数参数详解
MON_LOCKWAIT设置锁事件监控对锁信息收集的详细程度,值包括:NONE,WITHOUT_HIST, WITH_HIST,HIST_AND_VALUES;
MON_LOCKTIMEOUT同MON_LOCKWAIT, 同时参数LOCKTIMEOUT
MON_DEADLOCK同MON_LOCKWAIT
MON_LW_THRESH设置锁等待发生的时间阀值,超过该值将会触发锁等待事件监控,单位微妙

参数配置命令:

db2 update db cfg using MON_LOCKTIMEOUT HIST_AND_VALUES 
 MON_DEADLOCK HIST_AND_VALUES MON_LOCKWAIT HIST_AND_VALUES 
 MON_LW_THRESH 5000000 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值