【kingsql分享】併發操作導致阻塞的簡單分析和管理

kingsql發表於2015-05-19
最近太忙了,好久沒有寫文章了,由於這兩天感冒,所以慢慢悠悠的寫點東西出來

這篇文章主要來寫一下併發的時候,遇到了鎖阻塞等待的情況的簡單分析,和簡單處理


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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章