有沒有一個能跟蹤oracle數據庫中執行SQL代碼的跟蹤工具?
通過Oracle企業管理器建立跟蹤從Top Consumers頁面(可以通過Additional Monitoring Links區域中的Performance頁面得到,如圖1所示)開始。該頁面顯示服務、模塊、客戶和動作對系統資源的當前使用情況。
圖1:Oracle企業管理器的Top Consumers頁面
您可以單擊Top Services、Top Modules、Top Actions、Top Clients或Top Sessions選項卡,來查看這些類別的頂級消費者中每一種的詳細信息,隨后您可以通過這些頁面中的每一個頁面輕松啟用(或禁用)SQL跟蹤。從頁面上的列表中簡單地選擇項目,然后單擊啟用SQL跟蹤(Enable SQL Trace)開始跟蹤(當您完成跟蹤時,單擊禁用按鈕)。
您還可以啟用(或禁用)這些頁面上列出的任何項目的統計數據集合。(DBMS_MONITOR還提供了用於啟用和禁用數據集合的例程)。
分析跟蹤結果
獲取關於Kimberly Floss的圖書的信息
無論您是使用DBMS_MONITOR或者是使用Oracle企業管理器建立跟蹤,您都將使用trcsess 命令行工具來整合跟蹤文件。單擊Oracle企業管理器中的查看SQL跟蹤(View SQL Trace)按鈕顯示一個頁面,其中顯示了您將用於整合所有跟蹤文件的語法。
要確保用雙引號括住字符串,並在文件名后添加一個".trc"擴展名;否則,TKPROF將不會把它作為一個文件名來接受。在執行該命令之前,找到在user_dump_dest(或者,如果您沒有更改該參數名,則在\udump)中指定的目錄。
C:\...\udump> trcsess output="kfloss.trc" service="testenv"
module="product update"
action="batch insert"
隨后,您可以對整合的跟蹤文件運行TKPROF,以生成一份報告。
C:\...\udump> tkprof kfloss.trc
output=kfloss_trace_report SORT=(EXEELA, PRSELA, FCHELA)
如果您不終止跟蹤,那么運行該服務和模塊的每一個會話都會被跟蹤。因此,當您完成跟蹤時,要確保通過使用Oralce企業管理器或DBMS_MONITOR包來終止跟蹤。