如何通过snapshot来查询什么sql语句导致锁等待的
2个回答
2016-09-21
展开全部
传统的做法:
db2 "list applications show detail"|grep -vE "UOW Waiting|Connect Completed"
找出处于lock waiting的进程
db2 "get snapshot for application agentid <lock waiting的agentid>"
在输出的最后可以看到锁等待的情况,包括等待的锁资源和锁住该锁资源的进程
再db2 "get snapshot for application agentid <lock资源的agentid>"就可以看到锁住资源的sql语句
在多层锁等待的情况下需要循环上面的做法
db2 "list applications show detail"|grep -vE "UOW Waiting|Connect Completed"
找出处于lock waiting的进程
db2 "get snapshot for application agentid <lock waiting的agentid>"
在输出的最后可以看到锁等待的情况,包括等待的锁资源和锁住该锁资源的进程
再db2 "get snapshot for application agentid <lock资源的agentid>"就可以看到锁住资源的sql语句
在多层锁等待的情况下需要循环上面的做法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询