软件开发Db2db2死锁

DB2数据库不会检测死锁和锁超时?

环境:LINUXdb2level:DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09010" with level identifier "02010107".Informational tokens are "DB2 v9.1.0.0", "s060629", "LINUXAMD64", and Fix Pack "0".问题:数据库不会检测死锁和锁超时。也就是说...显示全部

环境:LINUX
db2level:
DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09010" with level identifier "02010107".
Informational tokens are "DB2 v9.1.0.0", "s060629", "LINUXAMD64", and Fix Pack "0".

问题:
数据库不会检测死锁和锁超时。
也就是说理论上应该检测到死锁和锁超时的并发上面,这个数据库没有检测出来,然后一直在锁等待。

db2 get db cfg for TSO | grep -i LOCK
Max storage for lock list (4KB) (LOCKLIST) = AUTOMATIC
Percent. of lock lists per application (MAXLOCKS) = AUTOMATIC
Interval for checking deadlock (ms) (DLCHKTIME) = 10000
Lock timeout (sec) (LOCKTIMEOUT) = 15
Block log on disk full (BLK_LOG_DSK_FUL) = NO

DB2DETAILDEADLOCK的state确认为1。

请问,DB2的死锁和锁超时检测,在什么情况下会失效,该如何检查?万望赐教。
这个数据库不是我部署的,我也对部署这个库的人很无力。

收起
参与25

查看其它 3 个回答仙道彰的回答

仙道彰仙道彰数据库开发工程师花旗集团

检查下数据库管理器(dbm)中监控开关的设置情况,db2 get monitor switches | grep -i lock
每个连接至数据库的应用程序(会话)都有其自己的监视器开关集,这些监视器开关与数据库管理器和其他应用程序无关。应用程序在连接至数据库时,从数据库管理器上继承他们的监视器开关设置。可以执行:get monitor switches 命令查看所有的监视开关设置情况。

互联网服务 · 2017-08-24

回答者

仙道彰
数据库开发工程师花旗集团

仙道彰 最近回答过的问题

回答状态

  • 发布时间:2017-08-24
  • 关注会员:4 人
  • 回答浏览:3148
  • X社区推广