如何通过snapshot来查询什么sql语句导致锁等待的

2024-12-30 09:39:33
推荐回答(2个)
回答1:

传统的做法:
db2 "list applications show detail"|grep -vE "UOW Waiting|Connect Completed"
找出处于lock waiting的进程
db2 "get snapshot for application agentid "
在输出的最后可以看到锁等待的情况,包括等待的锁资源和锁住该锁资源的进程
再db2 "get snapshot for application agentid "就可以看到锁住资源的sql语句

在多层锁等待的情况下需要循环上面的做法

回答2:

可以通过db2pd来查询,这个命令的具体用法在网上搜吧。