db2 查杀死锁进程

Posted 厚积薄发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2 查杀死锁进程相关的知识,希望对你有一定的参考价值。

db2 查杀死锁进命令
db2 get snapshot for locks on    (需要snapshot的访问权限)

db2 list applications
db2
"force application(8)"

在snapshot的第四段显示应用程序句柄为8的应用有锁存在,在其相应的锁定列表中显示锁定的表是US_CATALOG。


如果您确定是US_CATALOG表上发生了死锁,可以通过命令db2 "force application(8)"来杀掉该应用在数据库上的连接。


注意如果force命令导致该应用的事务回滚得话,force命令不能马上断开应用在数据库上的连接,而是要等到回滚完成后才能断开该应用的数据库连接。

可以用db2top -d db_name,进入按u,然后/ 输入表的名字,查看哪些application在这个表上加了什么锁。

如果想释放锁,只要force掉那些application就可以了。 db2 "force application(appl_id)"
不过建议force application之前,取快照看一下那个application在做什么,force之后,就会回滚,有些操作不可回滚,
这个对象就invalid了。









以上是关于db2 查杀死锁进程的主要内容,如果未能解决你的问题,请参考以下文章

db2 如何查看死锁的详细信息

执行 XA 事务时 DB2 死锁问题 SQLCODE=-911, SQLERRMC=68

小白科普:死锁

DB2数据库发生死锁了怎么办

进程查杀

DB2 操作超时或死锁