天天看點

TKPROF閱讀Oracle Trace

SQL Trace主要是對資料庫進行SQL監測,可以随時監測和調整作用于資料的應用程式。比如ERP系統它的應用界面很多,涉及的底層操作也很多,如果想知道在某個界面的操作在底層資料庫執行了哪些SQL語句,就需要開啟Trace功能記錄下這些SQL操作,友善開發人員了解上層應用程式對資料庫做了哪些動作。本篇通過簡單執行個體示範如何使用TKPROF閱讀Oracle Trace檔案。

有些應用程式本身可以提供開啟Trace的功能。比如Oracle的ERP在應用程式界面的菜單欄都會有Trace功能,如下圖:

PL/SQL的菜單中也有相同設定:

當然也可以在SQLPLUS中執行下面指令來開啟Trace:

通過SQLPLUS登入資料庫,開啟Trace功能,執行一個SQL語句,關閉Trace:

打開Trace檔案目錄:

cd /ora10g/admin/otdrdb/udump

按日期顯示,出現在頂端的檔案即為剛剛生成的Trace檔案:

ls –t |more

先看一下未經過處理的Trace檔案,其内容格式不友善閱讀:

more otdrdb_ora_30597.trc

用tkprof 對otdrdb_ora_30597.trc進行一下處理:

tkprof otdrdb_ora_30597.trc

輸入output檔案名稱,例如otdrdb_ora_30597.txt

再來看一下處理後otdrdb_ora_30597.txt檔案的内容:

之前執行的select count(*) from users語句就會在Trace檔案中展現出來,并且相應的一些執行參數也會展現出來。 這樣就可以通過這個方式随時監視應用程式對資料庫的操作了。

更多TKPROF内容可參考http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96533/sqltrace.htm#1018