如何透過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/29254281/viewspace-1063137/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SERVER死鎖查詢,死鎖分析,解鎖,查詢佔用SQLServer
- SQL Server 資料庫查詢死鎖的處理步驟SQLServer資料庫
- SQL Server 的死鎖SQLServer
- 在 SQL Server 中查詢活動連線和死鎖SQLServer
- [譯] google會背叛並殺死Android嗎?GoAndroid
- 檢視oracle死鎖程式並結束死鎖Oracle
- SQLSERVER 語句交錯引發的死鎖研究SQLServer
- mysql慢查詢,死鎖解決方案MySql
- sql查詢語句流程SQL
- SQL mother查詢語句SQL
- SQL查詢語句 (Oracle)SQLOracle
- 殺會話之查詢鎖表的物件及相關操作會話物件
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- 什麼是死鎖?如何解決死鎖?
- GaussDB SQL查詢語句執行過程解析SQL
- pid,sid相互查詢,根據PID查詢sqlSQL
- golang透過mysql語句實現分頁查詢GolangMySql
- 一條 SQL 查詢語句是如何執行的?SQL
- 兩個會話分別只執行一個SQL,可能形成死鎖嗎會話SQL
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- mysql查詢效率慢的SQL語句MySql
- 死鎖是什麼?如何預防和避免死鎖?
- 輸入的查詢 SQL 語句,是如何執行的?SQL
- 殺死Haskell的人也可能殺死Rust · GitHubHaskellRustGithub
- postgresql dba常用sql查詢語句SQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- 作業系統(5) 死鎖的概念 死鎖產生的必要條件 死鎖的處理策略 預防死鎖 避免死鎖 死鎖的檢測和解除 銀行家演算法作業系統演算法
- 在mysql查詢效率慢的SQL語句MySql
- Laravel 框架查詢執行的 SQL 語句Laravel框架SQL
- SQL基礎的查詢語句烈鉍SQL
- 死鎖
- [翻譯]:SQL死鎖-阻塞探測SQL
- PostgreSQL模擬兩個update語句死鎖-利用掃描方法SQL
- MySQL系列之一條SQL查詢語句的執行過程MySql
- SQL單表查詢語句總結SQL
- SQL Server 語句日期格式查詢方法SQLServer
- SQL Server-簡單查詢語句SQLServer
- SQLServer 如何收集資料以排除 SQL 死鎖問題SQLServer
- java如何避免程式死鎖Java