通過11G的V$SESSION來分析鎖阻塞關係
-------------------SESSION 1,SID=3252
create table wxh_tbd tablespace apollo_data as select a.* from dba_objects a ,dba_objects b where rownum<50000000;
Table created.
alter table wxh_tbd modify OBJECT_NAME not null;-------------表要足夠大,使這個操作足夠長
-------------------SESSION 2,等待,,SID=3250
select count(*) from wxh_tbd where rownum=1;
-------------------SESSION 3,等待,SID=3248
select count(*) from wxh_tbd where rownum=1;
-------------------SESSION 4
set linesize 200
col action for a15
col event for a25
col sql_id for a15
select sid,serial#, SQL_ID, ACTION, BLOCKING_SESSION, BLOCKING_SESSION_STATUS, EVENT
from v$session where BLOCKING_SESSION is not null;
SID SERIAL# SQL_ID ACTION BLOCKING_SESSION BLOCKING_SESSION_STATU EVENT
---------- ---------- --------------- --------------- ---------------- ---------------------- -------------------------
3248 3365 4vuw3tfxd9kd2 3250 VALID cursor: pin S wait on X
3250 18443 4vuw3tfxd9kd2 3252 VALID library cache lock
從結果非常容易看出,3252阻塞了3250,3250又阻塞了3248.
一般我們都認為 cursor: pin S wait on X等待是由於硬解析過多導致的
從這個例子來看,如果系統中存在比較耗時的DDL,會導致大量的這種
cursor: pin S wait on X等待,這種情況下的cursor: pin S wait on X等待
並不是由於硬解析導致的。
這幾個等待事件的詳細分析,見我的另一個文章:
http://space.itpub.net/22034023/viewspace-701368
create table wxh_tbd tablespace apollo_data as select a.* from dba_objects a ,dba_objects b where rownum<50000000;
Table created.
alter table wxh_tbd modify OBJECT_NAME not null;-------------表要足夠大,使這個操作足夠長
-------------------SESSION 2,等待,,SID=3250
select count(*) from wxh_tbd where rownum=1;
-------------------SESSION 3,等待,SID=3248
select count(*) from wxh_tbd where rownum=1;
-------------------SESSION 4
set linesize 200
col action for a15
col event for a25
col sql_id for a15
select sid,serial#, SQL_ID, ACTION, BLOCKING_SESSION, BLOCKING_SESSION_STATUS, EVENT
from v$session where BLOCKING_SESSION is not null;
SID SERIAL# SQL_ID ACTION BLOCKING_SESSION BLOCKING_SESSION_STATU EVENT
---------- ---------- --------------- --------------- ---------------- ---------------------- -------------------------
3248 3365 4vuw3tfxd9kd2 3250 VALID cursor: pin S wait on X
3250 18443 4vuw3tfxd9kd2 3252 VALID library cache lock
從結果非常容易看出,3252阻塞了3250,3250又阻塞了3248.
一般我們都認為 cursor: pin S wait on X等待是由於硬解析過多導致的
從這個例子來看,如果系統中存在比較耗時的DDL,會導致大量的這種
cursor: pin S wait on X等待,這種情況下的cursor: pin S wait on X等待
並不是由於硬解析導致的。
這幾個等待事件的詳細分析,見我的另一個文章:
http://space.itpub.net/22034023/viewspace-701368
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-701956/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle鎖阻塞的分析Oracle
- 通過shell分析表依賴的層級關係
- 通過MySQL儲存原理來分析排序和鎖MySql排序
- v$session的來源Session
- 11g v$session的新增列Session
- 【分散式鎖】通過MySQL資料庫的表來實現-V1分散式MySql資料庫
- 通過10046分析v$lock持鎖模式lmode之系列四模式
- Cookie與Session 關係CookieSession
- session和cookie關係SessionCookie
- oracle session和process的關係OracleSession
- connection和session的關係Session
- 和外來鍵相關的阻塞和死鎖問題總結
- v$sqlarea_parse_calls與executions與session_cached_cursors關係SQLSession
- 通過配置檔案來修改WAS控制檯Session過期時間的方法Session
- 11g v$active_session_history的新增列Session
- oracle查詢並殺掉鎖表及物件的session及相關係統程式Oracle物件Session
- 關聯v$session,v$locked_object,dba_objects查出鎖死會話及物件SessionObject會話物件
- 檢視引起阻塞的SessionSession
- V$SESSION中的saddr,paddr,taddr 與v$process及v$transaction中欄位的關係Session
- 通過Go來分析和建立XMLGoXML
- 通過dump library cache分析與學習oracle易碎解析鎖v$lock之系列十Oracle
- 透過shell分析表依賴的層級關係
- 關於v$process與v$session中process的理解Session
- oracle session和process的關係 .轉自CSDNOracleSession
- Cookie 和 Session 關係和區別CookieSession
- 關於主外來鍵關係DML父表和DML子表加鎖方式
- MYSQL 對錶最大ID 搶加鎖時的阻塞分析MySql
- Oracle中診斷阻塞的sessionOracleSession
- 通過Go來分析和建立JSONGoJSON
- oracle session阻塞查詢OracleSession
- blocking_session阻塞BloCSession
- SAP WM 通過2-Step Picking建立的TO之間的關聯關係
- 【Oracle】-【v$session】v$session的SNIPED狀態OracleSession
- v$session_wait 相關SessionAI
- [關係圖譜] 一.Gephi通過共現矩陣構建知網作者關係圖譜矩陣
- 理解cookie、session、localStorage、sessionStorage的關係與區別CookieSession
- http中session和cookie的區別和關係HTTPSessionCookie
- 通過session模擬登陸Session