db2 某个资源lock大概有一个小时,求助
用list indboubt transactions可以发现一个indoubt transaction:
db2 list indoubt transactions
1. originator: XA
appl_id: A15C5D08.DDB3.00DB81095249 sequence_no: 6 status: e
timestamp: 11/02/2007 09:55:35 auth_id: MMSIVIEW
log_full: n type: RM
xid: 0001BBA900000014 000000153406BE86 DBC14DAA0CDA26C0 70FC257ACDC828A3
0149028628DBC440 0333EDA1EED92AAF 85F1978F80
然后看程序LOG,发现有如下error info:
DB Error on Insert, rc=-918
SQL0918N Application must execute a rollback. SQLSTATE=51021
db2pd 出来的信息LOCKS status 中有 “w”对应的“g”的appl_id跟list indboubt transactions出来的appl_id一样
要快速处理的办法是list indboubt transactions with prompting,但是比较危险
如果不处理,等大概一个小时后这个lock自动消失
使用db2pd 中的 L-AnchID L-StmtUID可以定位是哪一个SQL产生了lock
但是要知道之前一直没有发生这种问题,那个SQL也是很简单的一个,另外最近几天才频繁发生,应用都没有改动
求高手指点确定lock的原因,以及什么情况下会发生indoubt transactions,谢谢
dianzi011sh@163.com
[
本帖最后由 dianzi011sh 于 2007-11-2 16:52 编辑 ]