Oracle如何对session进行跟踪

前端之家收集整理的这篇文章主要介绍了Oracle如何对session进行跟踪前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

跟踪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);
events '&event trace name context forever,level &level' ;
'&event trace name context off' ;
@H_301_74@ dbms_system.set_ev(&sid,&event_10046,&level_12, '' );
oradebug event 10046 trace name context forever, level 12

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

猜你在找的Oracle相关文章