設置sql進行跟蹤

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
   而後就可查看文本文件了進行分析了。擴展