[20211111]補充完善ash_wait_chains指令碼.txt
[20211111]補充完善ash_wait_chains指令碼.txt
--//tanel poder 提供的指令碼ash_wait_chains對於分析阻塞很好用.
--//但是我寫的命令太長了,昨天查詢我以前寫的指令碼浪費許多時間.我決定把它打個包,便於自己以後呼叫.
@ tpt/ash/ash_wait_chains BLOCKING_SESSION||','||BLOCKING_SESSION_SERIAL#||',@'||BLOCKING_INST_ID||'=>'||session_id||','||SESSION_SERIAL#||',@'||inst_id||'=>'||event 1=1 sysdate-1/1440 sysdate
--//指令碼如下:
$ cat wcx.sql
@ tpt/ash/ash_wait_chains BLOCKING_SESSION||','||BLOCKING_SESSION_SERIAL#||',@'||BLOCKING_INST_ID||'=>'||session_id||','||SESSION_SERIAL#||',@'||inst_id||'=>'||event 1=1 &&1 &&2
$ cat wcy.sql
@ tpt/ash/ash_wait_chains BLOCKING_SESSION||','||BLOCKING_SESSION_SERIAL#||',@'||BLOCKING_INST_ID||'=>'||session_id||','||SESSION_SERIAL#||',@'||inst_id||'=>'||event "&&3" &&1 &&2
--//簡單說明一下:
--//引數1 監測開始時間. 引數2 監測結束時間 注意不要有空格 引數3一些過濾條件.我加了雙引號.
--//另外取時間範圍不要太長,一般取5-10分鐘為佳.
--//例子:
@ wcx sysdate-5/1440 sysdate
@ wcy sysdate-1/24 sysdate "event='latch free'"
--//注:第3個引數有空格,必須使用雙引號.
--//另外作者還提供dash_wait_chains指令碼查詢dba_hist_active_sess_history檢視.因為阻塞一般很少事後分析,d開頭命令我很少用。
--//不過使用時我遇到問題,才發現我寫錯一個地方。
SYS@book> @tpt/ash/dash_wait_chains "blocking_session||','||blocking_session_serial#||',@'||blocking_inst_id||' => '||session_id||','||session_serial#||'@'||inst_id||' => '||event2" 1=1 sysdate-0.3/1440 sysdate
-- Display ASH Wait Chain Signatures script v0.6 BETA by Tanel Poder ( )
, REPLACE(SYS_CONNECT_BY_PATH(blocking_session||','||blocking_session_serial#||',@'||blocking_inst_id||' => '||session_id||','||session_serial#||'@'||inst_id||' => '||event2, '->'), '->', ' -> ')||CASE WHEN CONNECT_BY_ISLEAF = 1 AND d.blocking_session IS NOT NULL THEN ' -> [idle blocker '||d.blocking_inst_id||','||d.blocking_session||','||d.blocking_session_serial#||(SELECT ' ('||s.program||')' FROM gv$session s WHERE (s.inst_id, s.sid , s.serial#) = ((d.blocking_inst_id,d.blocking_session,d.blocking_session_serial#)))||']' ELSE NULL END path -- there's a reason why I'm doing this
*
ERROR at line 63:
ORA-00904: "INST_ID": invalid identifier
--//順便說一下前幾天我升級了ash_wait_chains.sql,dash_wait_chains.sql,因為連結
--//http://blog.itpub.net/267265/viewspace-2795478/ => [20211012]ORA-12850.txt 的原因。
--//理論講兩個指令碼的區別就算一個訪問v$active_session_history,另外一個訪問dba_hist_active_sess_history的區別。
--//對比兩個檢視結構才發現dba_hist_active_sess_history使用INSTANCE_NUMBER。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2841682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20220311]完善ash_wait_chains指令碼.txtAI指令碼
- [20220317]補充完善TPT 顯示欄位列的指令碼.txt指令碼
- [20210506]完善tix指令碼.txt指令碼
- [20201202]完善sosi指令碼.txt指令碼
- [20210623]完善清除aud指令碼.txt指令碼
- [20231117]完善ashtt.sql指令碼.txtSQL指令碼
- [20211230]完善sql_id指令碼.txtSQL指令碼
- [20211122]完善descx.sql指令碼.txtSQL指令碼
- [20221012]完善spsw.sql指令碼.txtSQL指令碼
- [20221010]完善descz.sql指令碼.txtSQL指令碼
- [20221101]完善descz.sql指令碼.txtSQL指令碼
- [20221101]完善gts.sql指令碼.txtSQL指令碼
- [20230203]完善awr.sql指令碼.txtSQL指令碼
- [20230123]完善curheapz.sql指令碼.txtSQL指令碼
- [20210407]完善ti.sql指令碼.txtSQL指令碼
- [20210125]完善hide.sql指令碼.txtIDESQL指令碼
- [20191111]完善bind_cap.sql指令碼.txtSQL指令碼
- [20220217]完善tpt gts.sql指令碼.txtSQL指令碼
- [20220510]完善tpt expandz.sql指令碼.txtSQL指令碼
- [20211202]完善d_buffer.sql指令碼.txtSQL指令碼
- [20211129]完善tpt tablist.sql指令碼.txtSQL指令碼
- [20211130]完善tpt t.sql指令碼.txtSQL指令碼
- [20211129]完善tpt killi.sql指令碼.txtSQL指令碼
- [20211126]完善tpt pr.sql指令碼.txtSQL指令碼
- [20230414]完善seg2.sql指令碼.txtSQL指令碼
- [20230210]建立完善swcnm.sql指令碼.txtSQL指令碼
- [20221208]完善bind_cap.sql指令碼.txtSQL指令碼
- [20220309]完善shp4.sql指令碼.txtSQL指令碼
- [20231025]完善tpt的trans.sql指令碼.txtSQL指令碼
- [20241114]建立完善ext_kglob.sh指令碼.txt指令碼
- [20220111]完善tpt ashash_index_helper指令碼.txtIndex指令碼
- [20220323]完善tpt get_trace.sql指令碼.txtSQL指令碼
- [20220823]完善tpt的ashtop.sql指令碼.txtSQL指令碼
- [20221208]完善bind_cap_awr.sql指令碼.txtSQL指令碼
- [20211011]計算sql_id.sh指令碼的一些補充.txtSQL指令碼
- [20190416]完善shared latch測試指令碼2.txt指令碼
- [20220129]完善tpt ash ash_index_helperx指令碼.txtIndex指令碼
- [20230302]建立完善tpt o2.sql指令碼.txtSQL指令碼