设置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 然后就可查看文本文件了进行分析了。