DB2 死锁问题?

我有一个应用,两台服务器一台装was另一台装db2。是ibm的Tivoli Provisioning Manager for SW
现在不知什么原因db2出现大量死锁,似乎死锁级别从行锁逐步升级到表锁,was服务器和db2服务器分别重启后死锁仍然存在

请问把应用停掉之后db2是否会自动解锁,如可自动解锁需要多长时间?
另外是否有命令可以解除所有的锁定?
参与43

43同行回答

macrozengmacrozeng数据库管理员IBM
db2 的锁问题是比较常见的,下面是一些建议DB2中关于并发控制(锁)的建议1.正确调整locklist,maxlocks,dlchktime和locktimeout等和锁有关的数据库配置参数(locktimeout最好不要等于-1)。如果锁内存不足会报SQL0912错误而影响并发。2.写出高效而简洁的SQL语句(非常重要)。3.在业务逻辑...显示全部
db2 的锁问题是比较常见的,下面是一些建议

DB2中关于并发控制(锁)的建议

1.正确调整locklist,maxlocks,dlchktime和locktimeout等和锁有关的数据库配置参数(locktimeout最好不要等于-1)。如果锁内存不足会报SQL0912错误而影响并发。

2.写出高效而简洁的SQL语句(非常重要)。

3.在业务逻辑处理完后尽可能快速commit释放锁。

4.对引起锁等待(SQL0911返回码68)和死锁(SQL0911返回码2)的SQL语句创建最合理的索引(非常重要,尽量创建复合索引和包含索引)。

5.使用 altER TABLE 语句的 LOCKSIZE 参数控制如何在持久基础上对某个特定表进行锁定。检查syscat.tables中locksize字段,尽量在符合业务逻辑的情况下,每个表中该字段为"R"(行级锁)。

6.根据业务逻辑使用正确的隔离级别(RR,RS,CS和UR)。

7.当执行大量更新时,更新之前,在整个事务期间锁定整个表(使用 SQL LOCK TABLE 语句)。这只使用了一把锁从而防止其它事务进行这些更新,但是对于其他用户它的确减少了数据并发性。收起
政府机关 · 2008-08-25
浏览742

    提问者

    相关问题

    相关资料

    相关文章

    问题状态

  • 发布时间:2008-03-26
  • 关注会员:0 人
  • 问题浏览:42040
  • 最近回答:2012-08-03
  • X社区推广