Oracle trace

来源:互联网 发布:阿里云退款电话 编辑:程序博客网 时间:2024/05/10 23:58

概述

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文件。

0 0