欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对于oracle对session进行跟踪的分析

程序员文章站 2022-03-16 20:17:28
跟踪 session 的活动,oracle 提供了很多种手段,不仅可以对当前连接的 session 进行跟踪, 也可以对其他用户的 session 进行跟踪;通过对 tra...

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

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

alter session set sql_trace=true/false

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

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 工具对其进行解释。

总结

本文有关oracle对session进行跟踪的分析的内容就到这里,希望对大家有所帮助。感兴趣的朋友可以继续浏览:  、oracle分页查询性能优化代码详解  、oracle创建带有参数的视图代码介绍等。感谢大家对本站的支持。