設置sql進行跟蹤
2024-07-21 02:07:46
供稿:網友
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 然后就可查看文本文件了進行分析了。