最近太忙了,好久没有写文章了,由于这两天感冒,所以慢慢悠悠的写点东西出来
这篇文章主要来写一下并发的时候,遇到了锁阻塞等待的情况的简单分析,和简单处理
1.首先创建2个测试表
2.然后我们在sqlplus里面开2个窗口,创建2个会话
3.在em的 在Performance页上选择Blocking Sessions
很显然,58正在等待52的锁。52持有锁并且阻塞了58的会话!
4.点击View Session按钮可以查看会话信息,非常的详细和直观
5.点击Kill Session按钮会杀掉52号会话
6.我们先不杀掉它,让再它活一会儿,通过下面select语句查询相关锁信息
sid=58的会话正在被52号会话阻塞,我们因此又可以生成查看[阻塞了别人的会话的select语句]
我们还是应该杀掉这个会话,但是我们在让它存活一会。
7. 我们再来看一下v$lock的信息
block=1说明这个会话正在阻塞其他会话
request=6说明当前会话正在等待一个lmode=6的锁,说明这个会话正在被阻塞
52阻塞了58的会话
8.我们还可以查看会话客户端信息
都是我的虚拟机创建的会话
9.现在我们可以杀掉会话了
10.如内容有误请指正
这篇文章主要来写一下并发的时候,遇到了锁阻塞等待的情况的简单分析,和简单处理
1.首先创建2个测试表
2.然后我们在sqlplus里面开2个窗口,创建2个会话
3.在em的 在Performance页上选择Blocking Sessions
很显然,58正在等待52的锁。52持有锁并且阻塞了58的会话!
4.点击View Session按钮可以查看会话信息,非常的详细和直观
5.点击Kill Session按钮会杀掉52号会话
6.我们先不杀掉它,让再它活一会儿,通过下面select语句查询相关锁信息
sid=58的会话正在被52号会话阻塞,我们因此又可以生成查看[阻塞了别人的会话的select语句]
我们还是应该杀掉这个会话,但是我们在让它存活一会。
7. 我们再来看一下v$lock的信息
block=1说明这个会话正在阻塞其他会话
request=6说明当前会话正在等待一个lmode=6的锁,说明这个会话正在被阻塞
52阻塞了58的会话
8.我们还可以查看会话客户端信息
都是我的虚拟机创建的会话
9.现在我们可以杀掉会话了
10.如内容有误请指正
$$$$$$$$$$$$$$$$$$$$$$$
hongzhuohui@kingsql.com
$$$$$$$$$$$$$$$$$$$$$$$
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28389881/viewspace-1661847/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28389881/viewspace-1661847/