前一段時間參與開發了乙個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 在命令列狀態下,如果行左側不...