2007-11-2 14:24
dianzi011sh
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也是很简单的一个,另外最近几天才频繁发生,应用都没有改动
[color=Red]
求高手指点确定lock的原因,以及什么情况下会发生indoubt transactions,谢谢
[email]dianzi011sh@163.com[/email][/color]
[[i] 本帖最后由 dianzi011sh 于 2007-11-2 16:52 编辑 [/i]]
2007-11-2 16:16
banker
应用锁了表,造成lock time out
我觉得先从应用上想办法把
db2可以找到是什么语句锁了表,相信对你调应用有帮助
2007-11-2 16:47
dianzi011sh
[quote]原帖由 [i]banker[/i] 于 2007-11-2 16:16 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=733464&ptid=78153][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]
应用锁了表,造成lock time out
我觉得先从应用上想办法把
db2可以找到是什么语句锁了表,相信对你调应用有帮助 [/quote]
的确,使用 L-AnchID L-StmtUID可以定位是哪一个SQL产生了lock
但是要知道之前一直没有发生这种问题,最近几天才频繁发生,应用都没有改动,所有郁闷了
2007-11-2 17:16
seven
0. 确认应用没更新过
1. 分析分析锁升级到原因
2. maybe 做做runstats、reorg就不会再锁了。
2007-11-2 17:50
dianzi011sh
[quote]原帖由 [i]seven[/i] 于 2007-11-2 17:16 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=733500&ptid=78153][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]
0. 确认应用没更新过
1. 分析分析锁升级到原因
2. maybe 做做runstats、reorg就不会再锁了。 [/quote]
0. 确认没有升级应用,但是关过一次server,重启三天后出现这个case
2. 从哪里可以看出是锁升级?db2pd中改锁的状态是 ..X
3. runstats\reorg好像DB后台直接打开了
谢谢各位的建议
谢谢版主
2007-11-5 14:02
banker
[quote]原帖由 [i]dianzi011sh[/i] 于 2007-11-2 17:50 发表 [url=http://www.loveunix.net/discuz/redirect.php?goto=findpost&pid=733515&ptid=78153][img]http://www.loveunix.net/discuz/images/common/back.gif[/img][/url]
0. 确认没有升级应用,但是关过一次server,重启三天后出现这个case
2. 从哪里可以看出是锁升级?db2pd中改锁的状态是 ..X
3. runstats\reorg好像DB后台直接打开了
谢谢各位的建议
谢谢版主 [/quote]
runstat 和reorg 可以找个maintenance 时间来做
锁升级看一下db2diag可以看到,不是状态,而是看是由行锁升级到表锁之类
如果没有应用升级只是关了server,我觉得考虑一下os方面的东西
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.