1:確認相關參數設置。sql
跟蹤本身的代碼。若是能訪問程序的源代碼,則打開其擴展SQL跟蹤就很是容易。首先必須確保會話的TIMED_STATISTICS和MAX_DUMP_ FILE_SIZE參數設置正確: 數據庫
alter session
set timed_statistics=true
alter session
set max_dump_file_size=unlimitedsession
若是沒有設置TIMED_STATISTICS=TRUE,則數據庫內核將把0值而不是真正的持續時間發送到跟蹤文件中。若是對MAX_DUMP_ FILE_SIZE嚴加限制,則會在跟蹤文件中生成下面這樣的消息,而不是你想要的時間數據:oracle
能夠使用 show parameters timed_statistics;來查看他的值。進程
2:若是是跟蹤本身,使用
alter session set sql_trace = true;
若是是跟蹤別的用戶,則先查詢v$session視圖,獲取進程信息:
select sid,serial#,username from v$session;
SID SERIAL# USERNAME
---------- ---------- ------------------------------
1 1
2 1
3 1
4 1
5 1
6 1
7 284 IFLOW
11 214 IFLOW
12 164 SYS
16 1042 IFLOWit
10 rows selected.io
而後使用exec dbms_system.set_sql_trace_in_session(7,284,true);進行跟蹤.
3: 中止跟蹤,切記運行一段時間後必定要中止跟蹤,對應2 分別採用:
alter session set sql_trace= false;
或則
exec dbms_system.set_sql_trace_in_session(7,284,false);
test
4:格式化trc文件
生成的文件放在udump目錄下,能夠使用tkprof來查看
C:/>tkprof D:/oracle9/admin/nbxtdb/udump/nbxtdb_ora_1912.trc 13.txt sys=no explain=test/test
而後就可查看文本文件了進行分析了。擴展