Oracle中查詢阻塞與被阻塞SID的方法
在Oracle中,會經常遇到阻塞與被阻塞的情況.
查詢阻塞與被阻塞的方法主要有下面幾種:
一.通過查詢v$lock和v$locked_object
這是最常用的也是最直接的方法
SQL> select sid,block from v$lock where block=1;
SID BLOCK
---------- ----------
252 1
SQL>
SQL> select object_id,session_id from v$locked_object where object_id in (select object_id from v$locked_object where session_id=252);
OBJECT_ID SESSION_ID
---------- ----------
63833 252
63833 269
SQL>
由上面第一條語句可以看出,SID=252的session阻塞了其他的session
由第二條語句可以得出,SID=252的session阻塞了SID=269的session
二.通過查詢dba_waiters和dba_blockers
SQL> select * from dba_blockers;
HOLDING_SESSION
---------------
252
SQL>
SQL>
SQL> select waiting_session,holding_session from dba_waiters;
WAITING_SESSION HOLDING_SESSION
--------------- ---------------
269 252
從dba_blockers檢視中,可以看到,SID=252的session阻塞了別的session,而從dba_waiters可以看到,HOLDING_SESSION為252,等待的WAITING_SESSION為269.
三.在Oracle 10G中可以通過v$session中的blocking_session欄位查詢
SQL> select sid,blocking_session from v$session where blocking_session is not null;
SID BLOCKING_SESSION
---------- ----------------
269 252
四.自己寫一個函式或者一個包來實現
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1048562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢阻塞與被阻塞SQL語句SQL
- oracle session阻塞查詢OracleSession
- Oracle阻塞會話查詢Oracle會話
- Oracle阻塞(鎖等待)查詢Oracle
- 一條查詢Oracle中的阻塞鎖(以及阻塞在哪個資料上)的SQLOracleSQL
- 查詢引起Oracle阻塞事件的源頭語句的方法Oracle事件
- RAC環境中的阻塞 查詢鎖
- 查殺oracle的阻塞Oracle
- Oracle10g中阻塞鎖查詢更簡單Oracle
- MySQL查詢阻塞語句MySql
- SQL Server阻塞查詢語句SQLServer
- SQLServer DML操作阻塞SELECT查詢SQLServer
- row lock contention 阻塞程式查詢
- library cache lock 阻塞程式查詢
- library cache pin 阻塞程式查詢
- 阻塞IO與非阻塞IO
- 同步與非同步、阻塞與非阻塞的理解非同步
- Oracle中診斷阻塞session的方法 blocking errorOracleSessionBloCError
- Oracle 阻塞Oracle
- 同步與非同步 阻塞與非阻塞非同步
- Oracle中診斷阻塞的sessionOracleSession
- 使用 strace 查詢 Emacs 啟動阻塞的原因Mac
- Waiting for table阻塞查詢的問題AI
- 同步非同步 與 阻塞非阻塞非同步
- 同步、非同步、阻塞與非阻塞非同步
- 如何解讀 Java IO、NIO 中的同步阻塞與同步非阻塞?Java
- MySQL 中如何定位 DDL 被阻塞的問題MySql
- 連結伺服器查詢導致的阻塞伺服器
- Oracle中顯示阻塞樹的SQLOracleSQL
- [轉]阻塞/非阻塞與同步/非同步非同步
- Java NIO 阻塞式與非阻塞式Java
- 阻塞佇列一——java中的阻塞佇列佇列Java
- HighgoDB查詢慢SQL和阻塞SQLGoSQL
- MySQL 5.6中如何定位DDL被阻塞的問題MySql
- oracle鎖阻塞的分析Oracle
- oracle會話阻塞查詢指令碼及對應欄位含義Oracle會話指令碼
- Go 中的阻塞分析Go
- [譯] 非同步程式設計:阻塞與非阻塞非同步程式設計