2014-06-25 Created By BaoXinjian
一、摘要
SQL TRACE是Oracle提供的用於進行SQL跟蹤的手段,是強有力的輔助診斷工具。在日常的數據庫問題診斷和解決中,SQL TRACE是非常常用的方法。
一般,一次跟蹤可以分為以下幾步:
1、界定需要跟蹤的目標范圍,並使用適當的命令啟用所需跟蹤。
2、經過一段時間后,停止跟蹤。此時應該產生了一個跟蹤結果文件。
3、找到跟蹤文件,並對其進行格式化,然后閱讀或分析。
另文已介紹了其他的跟蹤工具DBMS_PROFILER, Form Trace, Request Trace等
二、明細分析
案例: 跟蹤自己的Session中的SQL操作
Step1. 查詢自己Session的SID和Serial#
Step2. 啟動 SQL Trace節點
begin
dbms_system.set_SQL_TRACE_in_session(497,13413,true);
end;
Step3. 在啟動SQL Trace節點中后,進行SQL操作,系統會自動記錄該Session中所有的SQL操作記錄,直至關閉
Step4. 關閉 SQL Trace節點
begin
dbms_system.set_SQL_TRACE_in_session(497,13413,false);
end;
Step5. 查看所產生的Trace文件目錄
Step6. Download該trace
Step7. 在該Trace文件中,可以找到SQL Trace啟動和關閉節點之間的SQL,如下圖
Step8. 之后也可通過格式化工具tkprof將Trace文件進行格式轉化,變成易讀文件
此步另文已介紹,略過
Thanks and Regards
參考: XZC http://www.blogjava.net/xzclog/archive/2010/11/13/337985.html