概述
Trace file(追踪文件)是以.trc为后缀的文本文件,它记录了各种sql操作及所消耗的时间等,通过分析trace文件内容,我们可以了解哪些sql导致了系统的性能瓶颈,进而采取恰当的方式调优。
常规方法
常规方法开启trace文件
开启当前会话的trace文件:
1、最显而易见的方法设置SQL_TRACE参数:
SQL> alter session set sql_trace = true;
Session altered
SQL> alter session set sql_trace = false;
Session altered
任何版本的oracle都可适用,可以设置会话级和实例级的SQL_TRACE,缺点是只能设置当前会话;只能开启1级trace方式,也就是不包含等待事件和绑定变量信息;
2、DBMS_SESSION包
SQL> exec dbms_session.set_sql_trace(true);
PL/SQL procedure successfully completed
SQL> exec dbms_session.set_sql_trace(false);
PL/SQL procedure successfully completed
这种方式,等同于alter session set sql_trace ,除了不能设置实例级的sql_trace,其他优缺点一致;另外,还提供了另外级别的trace功能,如下:
SQL> exec dbms_session.session_trace_enable(true,true);
PL/SQL procedure successfully completed
SQL> exec dbms_session.session_trace_disable;
PL/SQL procedure successfully completed
这个过程可以设置包含等待事件和绑定变量的sql_trace,10g开始提供;
form&request
Form&并发程序跟踪都比较简单:
并发程序做trace:在请求定义界面勾选‘启用跟踪’,跑请求,请求运行完以后去服务器拿对应的trace文件并进行分析,trace完记得关闭“启用跟踪”;
Form做trace:在界面开启跟踪,执行完基本操作后,关闭跟踪,可得到对应的trace文件。