ITPub博客

首页 > 数据库 > Oracle > sql_trace的使用

sql_trace的使用

原创 Oracle 作者:zhangsharp20 时间:2015-03-30 16:00:52 0 删除 编辑
一、打开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/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 清空缓冲池
请登录后发表评论 登录
全部评论

注册时间:2014-08-12

  • 博文量
    382
  • 访问量
    801423