[20220102]使用ashtop與dashtop指令碼的小問題.txt
[20220102]使用ashtop與dashtop指令碼的小問題.txt
--//最近做最佳化工作,一直使用tpt的ashtop與dashtop指令碼探察資料庫問題,發現使用中一個小問題.
--//說明一下,使用ashtop查詢的是gv$active_session_history檢視,dashtop查詢的是dba_hist_active_sess_history檢視.
--//有時候兩者要經常交替使用.
--//有時候我需要查詢一個例項的情況,經常執行
@ashtop sql_id,inst_id 1=1 &day
--//切換為dashtop執行時出現問題
> @dashtop sql_id,inst_id 1=1 &day
sql_id,inst_id
*
ERROR at line 85:
ORA-00904: "INST_ID": invalid identifier
--//實際上問題在於dba_hist_active_sess_history檢視裡面沒有inst_id欄位,變成了instance_number欄位.也就是換成
--//dashtop執行的是:
@dashtop sql_id,instance_number 1=1 &day
--//兩者切換非常麻煩,修改一下dashtop.sql指令碼:
(SELECT
a.instance_number inst_id,
a.*
...
FROM dba_hist_active_sess_history a) a
--//這樣執行如下就沒有任何問題,切換執行起來很方便.
@dashtop sql_id,inst_id 1=1 &day
--//再比如我們應用執行的程式名一種是小寫另外一種是大寫的風格的型別,tpt指令碼定義一個欄位program2.只要修改如下就可以統一起
--//來.
CASE WHEN a.session_type = 'BACKGROUND' OR REGEXP_LIKE(a.program, '.*\([PJ]\d+\)') THEN
REGEXP_REPLACE(SUBSTR(a.program,INSTR(a.program,'(')), '\d', 'n')
ELSE
'('||REGEXP_REPLACE(REGEXP_REPLACE(a.program, '(.*)@(.*)(\(.*\))', '\1'), '\d', 'n')||')'
END || ' ' program2
--//可以修改為
CASE WHEN a.session_type = 'BACKGROUND' OR REGEXP_LIKE(lower(a.program), '.*\([PJ]\d+\)') THEN
REGEXP_REPLACE(SUBSTR(lower(a.program),INSTR(a.program,'(')), '\d', 'n')
ELSE
'('||REGEXP_REPLACE(REGEXP_REPLACE(lower(a.program), '(.*)@(.*)(\(.*\))', '\1'), '\d', 'n')||')'
END || ' ' program2
--//如果你不想修改可以直接在查詢是增加欄位.
,lower(a.program) program1
,lower(a.module) module1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2850485/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20240313]使用tpt ashtop.sql指令碼的困惑.txtSQL指令碼
- [20200117]ashtop指令碼使用簡介.txt指令碼
- [20220823]完善tpt的ashtop.sql指令碼.txtSQL指令碼
- 寫python指令碼遇到的些許小問題Python指令碼
- [20241110]使用xto10.sql指令碼遇到的問題.txtSQL指令碼
- [20180420]windows下使用cmd的小問題.txtWindows
- [20231101]使用tpt seg2.sql指令碼問題.txtSQL指令碼
- [20160214]rman執行指令碼註解問題.txt指令碼
- shell 指令碼的除錯問題指令碼除錯
- [20150727]使用標量子查詢小問題.txt
- [20210107]編寫bash shell指令碼遇到的問題.txt指令碼
- [20220414]toad呼叫執行指令碼問題.txt指令碼
- [20190114]conemu與kitty小問題.txt
- [20231102]除錯bash shell指令碼遇到的問題.txt除錯指令碼
- [20220822]奇怪的ashtop輸出.txt
- [20211220]記錄使用sqlplus的小問題.txtSQL
- [20220324]toad與sql profile使用問題.txtSQL
- JAVA與groovy指令碼的結合使用Java指令碼
- 引入外部js指令碼載入慢與頁面白屏問題JS指令碼
- LoadRunner錄製指令碼亂碼問題指令碼
- Shell指令碼介紹與使用指令碼
- [20211221]記錄使用sqlplus的小問題補充.txtSQL
- Ubuntu11.10 亂碼問題(TXT)。Ubuntu
- 使用git add 遇到的小問題Git
- 快速搭建主從的指令碼和問題排查指令碼
- iOS——寫一個快速定位問題的指令碼iOS指令碼
- 70個經典的 Shell 指令碼面試問題指令碼面試
- 一個指令碼解決AD使用者批量操作問題指令碼
- [20221126]tpt pr.sql指令碼執行問題.txtSQL指令碼
- [20211111]奇怪的ashtop輸出.txt
- Flutter使用TabBar問題小結FluttertabBar
- 一個Intent與LinkedHashMap的小問題IntentHashMap
- ORACLE問題處理十個指令碼Oracle指令碼
- 遊標指令碼效能問題解決與分析 (4) - Cursor Performance Analysis指令碼ORM
- 遊標指令碼效能問題解決與分析 (2) - Cursor Performance Analysis指令碼ORM
- [20121028]not in與NULL問題.txtNull
- PHP 與 JS 的編碼問題PHPJS
- 一個“指令碼執行夯死”問題的分析指令碼