檢查行鎖等待問題的指令碼(單機和rac都通用),指令碼rac

來源:互聯網
上載者:User

檢查行鎖等待問題的指令碼(單機和rac都通用),指令碼rac

來源於:

How to use historic ASH data to identify lock conflicts (文檔 ID 1593227.1)

對於當前正在lock的情況,指令碼為(單機和rac通用):

with lk as (select blocking_instance||'.'||blocking_session blocker, inst_id||'.'||sid waiter             from gv$session             where blocking_instance is not null               and blocking_session is not null)select lpad('  ',2*(level-1))||waiter lock_tree from (select * from lk  union all  select distinct 'root', blocker from lk  where blocker not in (select waiter from lk))connect by prior waiter=blocker start with blocker='root';
注意:以上語句不能在plsql-dev的sql windows視窗中執行,可以在plsql-dev的command windows視窗中執行,可以在sqlplus中執行。查詢結果為:

也就是說:1號執行個體的sid為1094的sssion 阻塞著 1號執行個體的sid為1077的session

這是1個session阻塞1個session的情況,下面再來看1個session阻塞2個session的情況:



也就是說:1號執行個體的sid為1094的sssion 阻塞著2個session: 1號執行個體的sid為1077的session 和1號執行個體的sid為1086的session而用侯聖文(這裡先謝過侯總)的指令碼去查,結果如下:




相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.