一、打开sql_trace
会话级别
alter session set sql_trace=ture;
全局级别
alter system set sql_trace=ture;
关闭sql_trace
会话级别
alter session set sql_trace=false;
全局级别
alter system set sql_trace=false;
二、查看路径名,默认是在udump下。
11g可以通过v$diag_ino来查看下一个生成的sql_trace文件路径名
10g可以通过v$mystat视图来查看当前的会话的SID,然后通过v$process和v$session视图查看当前的sql_trace路径名
获取当前SID
select sid from v$mystat where rownum =1
获取SPID
select spid from v$session s ,v$process p where s.paddr=p.addr and s.sid=&sid;
spid即为trace文件的后缀名
三、跟踪一个已打开的会话
使用DBMS_MONITOR包下的SESSION_TRACE_ENABLE函数,使用方法如下:
先要获取到会话的SID和serial#
打开跟踪
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(session_id => 27, serial_num => 60, waits => TRUE, binds => FALSE);
关闭跟踪
EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(session_id => 27, serial_num => 60);
跟踪当前会话可以使用dbms_session
打开当前会话跟踪
EXECUTE DBMS_SESSION.SESSION_TRACE_ENABLE(waits => TRUE, binds => FALSE);
关闭当前会话跟踪
EXECUTE DBMS_SESSION.SESSION_TRACE_DISABLE();
四、使用tkprof工具解析生成的sql_trace文件
tkprof 原路径 新路径
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29802484/viewspace-1478971/
,如需转载,请注明出处,否则将追究法律责任。