sql_trace

1:设置sql_trace

 

SQL>alter session set sql_trace=true;
或者
SQL> alter database set sql_trace=true;

 2:设置trace文件

 

SQL> alter session set tracefile_identifier='赵海军';

    或者查询默认的trace文件

 

SELECT D.VALUE || '/' || LOWER(RTRIM(I.INSTANCE, CHR(0))) || '_ora_' ||
       P.SPID || '.trc' AS "trace_file_name"
  FROM (SELECT P.SPID
          FROM V$MYSTAT M, V$SESSION S, V$PROCESS P
         WHERE M.STATISTIC# = 1
           AND S.SID = M.SID
           AND P.ADDR = S.PADDR) P,
       (SELECT T.INSTANCE
          FROM V$THREAD T, V$PARAMETER V
         WHERE V.NAME = 'thread'
           AND (V.VALUE = 0 OR T.THREAD# = TO_NUMBER(V.VALUE))) I,
       (SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest') D;
 

 

3:执行sql语句

 

UPDATE WF_DOC_GW SET DMODIFYDATE=SYSDATE,NMODIFYID=188503,NSTATE=1 WHERE NDOCID=101392903
 

 

4:结束sql_trace

 

SQL> alter session set sql_trace=false;
 

5:格式化trace文件

 

c:>tkprof trace.txt  trace1.txt sys=no;

参数:可以在命令行下输入tkprof,会显示所有的参数说明
aggregate=yes|no
                默认情况下,tkprof工具将所有相同的SQL在输入文件中做合并,如果设置为no,则分别列出每个SQL的信息。一般合并后看起来比较简洁,如果需要查看每一个SQL单独的信息,可以把aggregate设置为no。
 

 

 

6:原始trace文件可读性差,以下是一些参数说明

 

PARSING IN CURSOR 部分:   

                Len: 被解析SQL的长度

                Dep: 产生递归SQL的深度

                Uiduser id

                Otc: Oracle command type 命令的类型

                Lid: 私有用户id

                Tim:时间戳

                Hv hash value

                AdSQL address

 

PARSE,EXEC,FETCH 部分

                C: 消耗的CPU time

                Eelapsed time 操作的用时

                P: physical reads 物理读的次数

                Cr: consistent reads 一致性方式读取的数据块

                Cucurrent 方式读取的数据块

                Miscursor misss in cache 硬分析次数

                R: -rows 处理的行数

                Dep: depth 递归SQL的深度

                Og optimizer goal 优化器模式

                Timtimestamp时间戳

 

STATS 部分:

                Id: 执行计划的行源号

                Cnt:当前行源返回的行数

                Pid:当前行源号的父号

                Pos:执行计划中的位置

                Obj:当前操作的对象id(如果当前行原始一个对象的话)

                Op:当前行源的数据访问操作

 

参考:http://blog.csdn.net/tianlesoftware/article/details/5857023

 

你可能感兴趣的:(Trac)