DB2 锁升级失败将引起死锁

--start
[quote]
DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 2
Message: The current transaction has been rolled back because of a deadlock or timeout. Reason code "2".
[/quote]

昨天,执行了一条很简单的SQL,却怎么也执行不成功,报的错误如上所示,是死锁。既然是死锁,那就过一会执行吧。等了一会后仍然死锁。到底是哪个事务和哪个事务相互锁了呢?查询了老半天才发现原来这条SQL语句更新的数据量非常大,导致锁升级,然后锁升级又失败了,导致了死锁。原来锁升级失败会导致死锁。所以,通常我们应该将LOCKLIST和MAXLOCK参数调整到足够大,尽量避免锁等待、锁升级,发挥数据库的最大并发性。

--[b]更多参见[/b]:[url=http://iamwave.iteye.com/blog/649715]DB2 系列文章目录[/url]
--[b]声明:转载请注明出处[/b]
--last updated 2010.3.15
--written by wave at 2010.3.15
--end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值