互联网服务JDBC

jdbc中关于锁超时的异常信息

DB2环境:db2exp95_win_x86
DB2的jdbc执行SQL关于锁方面的异常有以下两种:
1、com.ibm.db2.jcc.a.dn: 因为死锁或超时,所以当前事务已回滚。原因码为 "2"。. SQLCODE=-911, SQLSTATE=40001, DRIVER=3.51.90
从报错信息中看是-911 2的错误,明显是死锁,被数据库管理器强制回滚的事务报的。

2、com.ibm.db2.jcc.b.pm: 2. SQLCODE=-911, SQLSTATE=40001, DRIVER=3.50.152

从报错信息中看只知道是911错误,因为原因码不明,无法判断是锁超时还是死锁。

疑问:第2种中的"com.ibm.db2.jcc.b.pm: 2. SQLCODE",其中有一个“2”,不知道是否是原因码RC?
参与11

10同行回答

ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司
好吧,我猜那个2就是表示rc=2,也就是死锁的意思!另外个人觉得死锁监控器用处不大,程序稍写得烂一点,那20个文件很容易满足导致db2diag.log老是报满还验难看,从监控的结果中格式化出来的文本文件也足有2+GB,想看也不容易,再说产生死锁的4条SQL也只能反映出2条和相关的锁信息(哪个表...显示全部
好吧,我猜那个2就是表示rc=2,也就是死锁的意思!
另外个人觉得死锁监控器用处不大,程序稍写得烂一点,那20个文件很容易满足导致db2diag.log老是报满还验难看,从监控的结果中格式化出来的文本文件也足有2+GB,想看也不容易,再说产生死锁的4条SQL也只能反映出2条和相关的锁信息(哪个表或表行锁),然后根据这些信息到应用中去查也是困难重复。一般报的频繁时候才会去打开看看,缩小范围查。收起
互联网服务 · 2013-03-15
浏览1183
mdkiimdkii软件开发工程师bocn
db2 有个缺省的死锁监控器,在 //NODE0000/SQL00001/db2event/db2detaildeadlock下面,你可以去看看。显示全部
db2 有个缺省的死锁监控器,在 //NODE0000/SQL00001/db2event/db2detaildeadlock下面,你可以去看看。收起
银行 · 2013-03-15
浏览1150
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司
其实我就想知道com.ibm.db2.jcc.b.pm: 冒号后面的2是不是rc?另外db2diag.log日志好像不记录锁超时或死锁记录。显示全部
其实我就想知道com.ibm.db2.jcc.b.pm: 冒号后面的2是不是rc?
另外db2diag.log日志好像不记录锁超时或死锁记录。收起
互联网服务 · 2013-03-15
浏览1099
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司
pls check db2diag.log  firstly  to find the Errorweiruan85 发表于 2013-3-15 09:35 首先谢谢大家的帮助,我举一个实际的例子来说明一下吧,今天我在应用日志中找到:03-15 09:49:29,041 [WebContainer : 30] ERROR [com.xxx.framework.actions.FlowA...显示全部
pls check db2diag.log  firstly  to find the Error
weiruan85 发表于 2013-3-15 09:35

首先谢谢大家的帮助,我举一个实际的例子来说明一下吧,今天我在应用日志中找到:03-15 09:49:29,041 [WebContainer : 30] ERROR [com.xxx.framework.actions.FlowAction:73] - ERROR_EXCP :
com.ibm.db2.jcc.b.pm: 2. SQLCODE=-911, SQLSTATE=40001, DRIVER=3.50.152

at com.ibm.db2.jcc.b.wc.a(wc.java:568)

at com.ibm.db2.jcc.b.wc.a(wc.java:57)

at com.ibm.db2.jcc.b.wc.a(wc.java:126)

at com.ibm.db2.jcc.b.jk.b(jk.java:3578)

at com.ibm.db2.jcc.t4.eb.h(eb.java:266)

at com.ibm.db2.jcc.t4.eb.a(eb.java:227)

at com.ibm.db2.jcc.t4.eb.c(eb.java:31)

at com.ibm.db2.jcc.t4.u.a(u.java:32)

at com.ibm.db2.jcc.t4.j.Xb(j.java:245)

at com.ibm.db2.jcc.b.jk.X(jk.java:3412)

at com.ibm.db2.jcc.t4.d.g(d.java:1837)

at com.ibm.db2.jcc.b.bc.a(bc.java:207)

at com.ibm.db2.jcc.b.jk.c(jk.java:296)

at com.ibm.db2.jcc.b.jk.next(jk.java:258)
报错时应用日志打印的时间点是03-15 09:49:29,041,根据这个时间点到db2diag日志中查找
C:\>db2diag -t 2013-03-15-09.40:2013-03-15-10
2013-03-15-09.40.13.829000+480 I554065H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.43.13.827000+480 I554564H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.46.13.825000+480 I555063H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.49.13.822000+480 I555562H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.52.13.820000+480 I556061H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.55.13.818000+480 I556560H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

2013-03-15-09.58.13.815000+480 I557059H497        LEVEL: Warning
PID     : 3768                 TID  : 5920        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : YYYY
APPHDL  : 0-8                  APPID: *LOCAL.DB2.130312095744
AUTHID  : YYYY
EDUID   : 5920                 EDUNAME: db2stmm (YYYY)
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, pr
obe:2255
MESSAGE : Unable to find donor to satisfy minSize constraint

从数据库日志可以看出,这条-911信息根本没有记录在db2diag日志中。所以无法根据“com.ibm.db2.jcc.b.pm: 2. SQLCODE=-911, SQLSTATE=40001, DRIVER=3.50.152”知道这是locktimeout还是deadlock。收起
互联网服务 · 2013-03-15
浏览1185
weiruan85weiruan85数据库管理员ibm
pls check db2diag.log  firstly  to find the Error显示全部
pls check db2diag.log  firstly  to find the Error收起
政府机关 · 2013-03-15
浏览1113
wangkai8wangkai8数据库管理员IBM
rc=2指的就是死锁,68是锁超时。显示全部
rc=2指的就是死锁,68是锁超时。收起
互联网服务 · 2013-03-14
浏览1121
shlei6067shlei6067联盟成员数据库管理员NJ
可以做快照查查结果吗。显示全部
可以做快照查查结果吗。收起
互联网服务 · 2013-03-13
浏览1149
bankhpbankhp数据库管理员安徽省农村信用联社信息技术中心
可以根据报错的时间点去查DB2的diag日志,里面有原因码显示全部
可以根据报错的时间点去查DB2的diag日志,里面有原因码收起
银行 · 2013-03-13
浏览1099
kanwenwenkanwenwen软件工程师kanwenwen
我也遇到了这样的问题,was报错和你的差不多!初步怀疑是锁超时!显示全部
我也遇到了这样的问题,was报错和你的差不多!初步怀疑是锁超时!收起
2013-03-13
浏览1095
weiruan85weiruan85数据库管理员ibm
回复 7# ppjava2009     db2diag.log 里边竟然没有-911, ? ..   估计那个2 就是死锁,但是数据库日志里边么有记录。你可以打开event monitor 监控下显示全部
回复 7# ppjava2009


    db2diag.log 里边竟然没有-911, ? ..   估计那个2 就是死锁,但是数据库日志里边么有记录。你可以打开event monitor 监控下收起
政府机关 · 2013-03-06
浏览1089

提问者

ppjava2009
系统工程师用友汽车信息科技(上海)有限公司
擅长领域: 中间件数据库java

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-03-06
  • 关注会员:1 人
  • 问题浏览:5159
  • 最近回答:2013-03-15
  • X社区推广