标题: db2 某个资源lock大概有一个小时,求助
dianzi011sh
LU新生
Rank: 1



UID 97476
精华 0
积分 3
帖子 6
活跃指数 4
LU金币 10 个
LU金条 0 个
阅读权限 10
注册 2007-10-18
 
发表于 2007-11-2 14:24  资料  个人空间  短消息  加为好友 
db2 某个资源lock大概有一个小时,求助

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 编辑 ]

顶部
banker
LU天使
Rank: 4



UID 653
精华 0
积分 793
帖子 1541
活跃指数 3
LU金币 2445 个
LU金条 0 个
阅读权限 50
注册 2003-10-16
 
发表于 2007-11-2 16:16  资料  个人空间  主页 短消息  加为好友  添加 banker 为MSN好友 通过MSN和 banker 交谈
应用锁了表,造成lock time out
我觉得先从应用上想办法把
db2可以找到是什么语句锁了表,相信对你调应用有帮助





当我们讲话时,有人聆听。
当我们做事时,有人跟随。
当我们前进时,没有任何困难可以阻挡
顶部
dianzi011sh
LU新生
Rank: 1



UID 97476
精华 0
积分 3
帖子 6
活跃指数 4
LU金币 10 个
LU金条 0 个
阅读权限 10
注册 2007-10-18
 
发表于 2007-11-2 16:47  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 banker 于 2007-11-2 16:16 发表
应用锁了表,造成lock time out
我觉得先从应用上想办法把
db2可以找到是什么语句锁了表,相信对你调应用有帮助

的确,使用 L-AnchID L-StmtUID可以定位是哪一个SQL产生了lock
但是要知道之前一直没有发生这种问题,最近几天才频繁发生,应用都没有改动,所有郁闷了

顶部
seven
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15



UID 25386
精华 7
积分 241
帖子 416
活跃指数 28
LU金币 5712 个
LU金条 0 个
阅读权限 210
注册 2004-7-29
 
发表于 2007-11-2 17:16  资料  个人空间  短消息  加为好友 
0. 确认应用没更新过
1. 分析分析锁升级到原因
2. maybe 做做runstats、reorg就不会再锁了。

顶部
dianzi011sh
LU新生
Rank: 1



UID 97476
精华 0
积分 3
帖子 6
活跃指数 4
LU金币 10 个
LU金条 0 个
阅读权限 10
注册 2007-10-18
 
发表于 2007-11-2 17:50  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 seven 于 2007-11-2 17:16 发表
0. 确认应用没更新过
1. 分析分析锁升级到原因
2. maybe 做做runstats、reorg就不会再锁了。

0. 确认没有升级应用,但是关过一次server,重启三天后出现这个case
2. 从哪里可以看出是锁升级?db2pd中改锁的状态是 ..X
3. runstats\reorg好像DB后台直接打开了

谢谢各位的建议
谢谢版主

顶部
banker
LU天使
Rank: 4



UID 653
精华 0
积分 793
帖子 1541
活跃指数 3
LU金币 2445 个
LU金条 0 个
阅读权限 50
注册 2003-10-16
 
发表于 2007-11-5 14:02  资料  个人空间  主页 短消息  加为好友  添加 banker 为MSN好友 通过MSN和 banker 交谈


QUOTE:
原帖由 dianzi011sh 于 2007-11-2 17:50 发表



0. 确认没有升级应用,但是关过一次server,重启三天后出现这个case
2. 从哪里可以看出是锁升级?db2pd中改锁的状态是 ..X
3. runstats\reorg好像DB后台直接打开了

谢谢各位的建议
谢谢版主

runstat 和reorg 可以找个maintenance 时间来做
锁升级看一下db2diag可以看到,不是状态,而是看是由行锁升级到表锁之类
如果没有应用升级只是关了server,我觉得考虑一下os方面的东西





当我们讲话时,有人聆听。
当我们做事时,有人跟随。
当我们前进时,没有任何困难可以阻挡
顶部
 



当前时区 GMT+8, 现在时间是 2008-7-9 21:10
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.060715 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver - WAP