一條查詢Oracle中的阻塞鎖(以及阻塞在哪個資料上)的SQL
Select '節點 ' || a.INST_ID || ' session ' || a.sid || ',' || a_s.SERIAL# ||
' 阻塞了 節點 ' || b.INST_ID || ' session ' || b.SID || ',' || b_s.SERIAL# blockinfo,
a.INST_ID,
a_s.SID,
a_s.SCHEMANAME,
a_s.MODULE,
a_s.STATUS,
a.type lock_type,
a.id1,
a.id2,
decode(a.lmode,
0,
'none',
1,
null,
2,
'row-S (SS)',
3,
'row-X (SX)',
4,
'share (S)',
5,
'S/Row-X (SSX)',
6,
'exclusive (X)') lock_mode,
'後為被阻塞資訊' ,
b.INST_ID blocked_inst_id,
b_s.SID blocked_sid,
b.TYPE blocked_lock_type,
decode(b.request,
0,
'none',
1,
null,
2,
'row-S (SS)',
3,
'row-X (SX)',
4,
'share (S)',
5,
'S/Row-X (SSX)',
6,
'exclusive (X)') blocked_lock_request,
b_s.SCHEMANAME blocked_SCHEMANAME,
b_s.MODULE blocked_module,
b_s.STATUS blocked_status,
b_s.SQL_ID blocked_sql_id,
obj.owner blocked_owner,
obj.object_name blocked_object_name,
obj.OBJECT_TYPE blocked_OBJECT_TYPE,
case
when b_s.ROW_WAIT_OBJ# <> -1 then
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#)
else
'-1'
end blocked_rowid, --被阻塞資料的rowid
decode(obj.object_type,
'TABLE',
'select * from ' || obj.owner || '.' || obj.object_name ||
' where rowid=''' ||
dbms_rowid.rowid_create(1,
obj.DATA_OBJECT_ID,
b_s.ROW_WAIT_FILE#,
b_s.ROW_WAIT_BLOCK#,
b_s.ROW_WAIT_ROW#) || '''',
NULL) blocked_data_querysql
from gv$lock a,
gv$lock b,
gv$session a_s,
gv$session b_s,
dba_objects obj
where a.id1 = b.id1
and a.id2 = b.id2
and a.BLOCK > 0 --阻塞了其他人
and b.request > 0
and ((a.INST_ID = b.INST_ID and a.sid <> b.sid) or
(a.INST_ID <> b.INST_ID))
and a.sid = a_s.sid
and a.INST_ID = a_s.INST_ID
and b.sid = b_s.sid
and b.INST_ID = b_s.INST_ID
and b_s.ROW_WAIT_OBJ# = obj.object_id(+)
order by a.inst_id,a.sid
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-1144203/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle阻塞(鎖等待)查詢Oracle
- RAC環境中的阻塞 查詢鎖
- Oracle中查詢阻塞與被阻塞SID的方法Oracle
- 查詢阻塞與被阻塞SQL語句SQL
- Oracle10g中阻塞鎖查詢更簡單Oracle
- oracle session阻塞查詢OracleSession
- oracle鎖阻塞的分析Oracle
- Oracle阻塞會話查詢Oracle會話
- SQL Server阻塞查詢語句SQLServer
- 查殺oracle的阻塞Oracle
- Oracle中顯示阻塞樹的SQLOracleSQL
- HighgoDB查詢慢SQL和阻塞SQLGoSQL
- 查詢某條記錄存在哪個資料塊中
- 資料庫鎖表與阻塞資料庫
- 查詢引起Oracle阻塞事件的源頭語句的方法Oracle事件
- 阻塞佇列一——java中的阻塞佇列佇列Java
- MySQL查詢阻塞語句MySql
- 記一次Oracle死鎖/阻塞排查Oracle
- Oracle中診斷阻塞的sessionOracleSession
- [翻譯]:SQL死鎖-阻塞探測SQL
- 使用 strace 查詢 Emacs 啟動阻塞的原因Mac
- Waiting for table阻塞查詢的問題AI
- SQL Server中的SELECT會阻塞SELECT相關資料SQLServer
- oracle date資料的條件查詢Oracle
- exp匯出一個表中符合查詢條件的資料
- SQLServer DML操作阻塞SELECT查詢SQLServer
- row lock contention 阻塞程式查詢
- library cache lock 阻塞程式查詢
- library cache pin 阻塞程式查詢
- 連結伺服器查詢導致的阻塞伺服器
- Oracle 阻塞Oracle
- 【轉】檢視Oracle資料庫阻塞Oracle資料庫
- sql查詢案例:刪除2條完全一樣的資料SQL
- 【SQL】查詢資料的方式 (一)SQL
- ORACLE SQL的查詢表的鎖的情況OracleSQL
- Go 中的阻塞分析Go
- 查詢前100個含有根阻塞程式的Hang Chain程式指令碼AI指令碼
- 查詢前10條資料oracleOracle