設定sql進行跟蹤
來源:互聯網
上載者:User
1:確認相關參數設定。
跟蹤自己的代碼。如果能訪問程式的原始碼,則開啟其擴充SQL跟蹤就非常容易。首先必須確保會話的TIMED_STATISTICS和MAX_DUMP_ FILE_SIZE參數設定正確:
alter session set timed_statistics=truealter session set max_dump_file_size=unlimited
如果沒有設定TIMED_STATISTICS=TRUE,則資料庫核心將把0值而不是真正的期間發送到追蹤檔案中。如果對MAX_DUMP_ FILE_SIZE嚴加限制,則會在追蹤檔案中產生下面這樣的訊息,而不是你想要的時間資料:
可以使用 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 IFLOW
10 rows selected.
然後使用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);
4:格式化trc檔案 產生的檔案放在udump目錄下,可以使用tkprof來查看 C:\>tkprof D:\oracle9\admin\nbxtdb\udump\nbxtdb_ora_1912.trc 13.txt sys=no explain=test/test 然後就可查看文字檔了進行分析了。