如何通過sid查詢造成死鎖的sql語句,並殺死會話
1,一個update語句拿不到行鎖被阻塞,會話sid=8888,如何找出阻塞者的sql,給出如何殺掉阻塞者會話的語句。
設計一個實驗
(一) 會話1 跟新一行資料庫,持有鎖,目的就是查詢出下面造成這天行鎖的sql語句
SQL> update emp1 set sal=323 where empno=7369;
1 row updated.
(二)會話2 查詢本會話的sid
SQL> select sid from v$mystat where rownum=1;
SID
----------
36
跟新會話1同一行資料,爭用行鎖
SQL> update emp1 set sal=32232 where empno=7369;
新開一個會話,通過dba_waiters 查詢那個sid持有行鎖
SQL> select WAITING_SESSION,HOLDING_SESSION from dba_waiters;
WAITING_SESSION HOLDING_SESSION
--------------- - --------------
36 35
(三) 通過v$sqlarea 和v$session 兩個檢視和sid號查詢出sql語句
SQL> SELECT SQL_TEXT
2 FROM V$SQLAREA A, V$SESSION B
3 WHERE A.SQL_ID = B.PREV_SQL_ID
4 AND B.SID =35;
SQL_TEXT
--------------------------------------------------------------------------------
update emp1 set sal=323 where empno=7369
查詢sql後通過sid殺掉會話
SQL> select sid,serial# from v$session where sid=35;
SID SERIAL#
---------- ----------
35 67
SQL> alter system kill session '35,67';
System altered.
會話2的sql執行完畢
SQL> update emp1 set sal=32232 where empno=7369;
1 row updated.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1441971/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何透過sid查詢造成死鎖的sql語句,並殺死會話SQL會話
- 查詢處理死鎖會話的sql語句(轉貼)會話SQL
- 查詢並解除oracle的死鎖Oracle
- rman會造成delete死鎖嗎delete
- 殺死Oracle死鎖程式Oracle
- [zt] Sql Server死鎖的查詢和解除SQLServer
- db2查殺死鎖DB2
- oracle 檢視死鎖語句Oracle
- 通過 sysprocesses 解決Sql死鎖問題SQL
- 殺掉鎖死的程式
- oracle 死鎖查詢處理Oracle
- 批量kill殺死某些會話session的plsql會話SessionSQL
- 單一會話引發的死鎖會話
- 在 SQL Server 中查詢活動連線和死鎖SQLServer
- 從trc查詢死鎖的問題
- Oracle死鎖查詢及處理Oracle
- oracle殺死鎖表的程式Oracle
- SQL Server 的死鎖SQLServer
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- 檢視oracle死鎖程式並結束死鎖Oracle
- 如何通過程式設計發現Java死鎖程式設計Java
- [譯] google會背叛並殺死Android嗎?GoAndroid
- select for update語句造成ORA-00060 deadlock死鎖問題分析
- SQL Server死鎖SQLServer
- 使用 TRY/CATCH 語句解決 SQL Server 2005 死鎖SQLServer
- mysql慢查詢,死鎖解決方案MySql
- ORACLE中殺死鎖程式的方法Oracle
- SQLSERVER 語句交錯引發的死鎖研究SQLServer
- Oracle查詢當前會話的sidOracle會話
- 【sqlserver】殺掉所有死鎖程式SQLServer
- 即刻殺死資料庫鎖資料庫
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- 誰在死鎖Mutex——用Windbg查詢Mutex死鎖所有者執行緒Mutex執行緒
- 殺會話之查詢鎖表的物件及相關操作會話物件
- 誰將會殺死 Java?Java
- 什麼是死鎖?如何解決死鎖?
- 表死鎖查詢及處理辦法
- 【原創】查詢原始MySQL死鎖ID薦MySql