国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > Oracle如何对session进行跟踪

Oracle如何对session进行跟踪

来源:程序员人生   发布时间:2016-09-27 08:51:31 阅读次数:3160次

跟踪 session 的活动,Oracle 提供了很多种手段,不但可以对当前连接的 session 进行跟踪, 也能够对其他用户的 session 进行跟踪;通过对 trace 档的分析,不但可以掌握该 session 的活动, 也能够找出这个 session 中的瓶颈所在,对 session 的跟踪是 DBA 进行系统调优、故障诊断的经常使用 方法。 

对当前会话的活动进行跟踪及停止跟踪: 

1
alter session set sql_trace=true/false

对任意的 session 进行跟踪及停止跟踪: 

1
2
3
4
5
exec dbms_system.set_sql_trace_in_session(&sid,&serial#,&sql_trace);
alter session set events '&event trace name context forever,level &level';
alter session set events '&event trace name context off';
exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');
oradebug event 10046 trace name context forever,level 12

利用 Event、SQL  Trace 工具等可以搜集 SQL 的性能状态数据并把这些数据记录到跟踪文件 中,这个跟踪文件提供了许多有用的信息,如解析次数、履行次数、CPU 使用时间、物理读、逻 辑读等,这些信息是判断 SQL 性能优劣的根据。user_dump_dest 参数说明了生成跟踪文件的目 录,设置 SQL Trace 首先要在 init&sid.ora 中设定 timed_statistics 为 true,这样才能得到那些重要 的时间信息,由于 SQL  Trace 生成的 trace 文件读起来很困难,最好用 TKPROF 工具对其进行解 释。 



生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生