sqlplus的AutoTrace功能批量分析

2021-08-29 09:11:02 字數 917 閱讀 9112

前一段時間參與開發了乙個plsql的專案,主要是編寫儲存過程,所有的業務處理都在儲存過程中處理。

在單元測試完成後,為了進一步優化系統,專案組決定使用sqlplus的autotrace功能來分析sql文。這樣就需要我們trace部分複雜的sql。通常我們都是乙個乙個的trace,乙個乙個弄比較麻煩。於是我就想辦法批量處理,然後綜合分析。

下面是我的解決辦法:

第一步:編寫dos批處理檔案

rem  設定輸出檔案

set report_file="c:\trace_report.txt"

del %report_file%

echo ------------------ >> %report_file%

echo  sql trace開始 >> %report_file%

date /t  >> %report_file%

time  /t  >> %report_file%

echo ------------------ >> %report_file%

sqlplus tglics03/[email protected] @trace_pmed120b >> %report_file%

第二步:編寫trace_pmed120b.sql檔案

trace_pmed120b.sql檔案內容主要包含

set autotrace on;

set  linesize 1000;

select t1.a t2.b t3.c from t1,t2,t3 where .........;

select m1.a m2.b from m1,m2 where .........;

這樣做之後就可以一次把所有sql的trace結果輸出到trace_report.txt這個檔案中。通過分析結果我們可以看到sql消耗資源情況,從而確定優化物件。

Oracle效能分析工具之AUTOTRACE學習

autotrace在效能分析工具中是最常用的乙個,用於檢視sql語句的執行過程和資源消耗情況。第一次使用就報 sp2 0618 無法找到會話識別符號。啟用檢查 plustrace 角色 和 sp2 0611 啟用 statistics 報告時出錯 錯誤,如下所示 根據錯誤資訊提示,要在資料庫中建立乙...

SQL PLUS的異常處理

使用sqlp plus時,如果執行sql plus的特定命令,只要沒有錯誤,就認為是執行正常 相反地,如果執行sql或者pl sql命令,如果返回了正確的文字,則執行正常。當sql plus執行碰到錯誤時,預設地,它會報錯並繼續執行。當人工在互動式地執行命令時,這個特性是非常好的,但是在指令碼中執行...

SQL Plus工具的使用

一.sql plus是乙個字元介面工具,所有功能均以命令列的方式執行,需要涉及並使用部分常用的dos命令,doc命令如下 命令提示符程式的啟動和退出。選單中輸入cmd進入命令提示符程式 退出cmd 可以直接輸入exit命令,按回車鍵可退出命令提示符程式。改變當前路徑。a 在命令列狀態下,如果行左側不...