看一个简单的tkprof,还是比较实用的

1.设置sql trace
(1)实例级
初始化参数据SQL_TRACE=TRUE
(2)对话级
ALTER SESSION SET SQL_TRACE=TRUE
DBMS_SESSION.SQL_TRACE(SQL_TRACE)
DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(SID,SERIAL#,SQL_TRACE);
(3).trc文件存放的位置
查看初始化参数:用户跟踪文件user_dump_dest
2.设置时间统计(这样就可以统计每个sql执行的时间)
alter system set timed_statistics=true scope=both;
3.tkprof的使用
tkprof可对.trc文件进行分析,并生成一个分析文件.并且在分析.trc文件,生成分析文件时按各种选项进行排序,其中比较有用的一个排序选项是fchela,即按照elapsed time fetching来对分析的结果排序(记住要设置初始化参数time_statistics=true),生成的.prf文件将把最消耗时间的sql放在最前面显示。另外一个有用的参数就是sys,这个参数设置为no可以阻止所有以sys用户执行的sql被显示出来,这样可以减少分析出来的文件的复杂度,便于查看。
举例:
(1)设置跟踪SID,SERIAL#O为12.73
exec dbms_system.SET_SQL_TRACE_IN_SESSION(12,73,true);
(2)查询生成的.trc文件号
  select spid from v$process where addr = (select paddr from v$session where sid=12);
(3)使用tkprof生成分析文件
c:\>tkprof e:\oracle\admin\rainny\rainny_ora_4188.trc c:\rainny.prf aggregate=yes sys=no sort=fchela(此例中将执行最耗时的sql放在分析文件的开头)
(4)打开.prf文件
    可用ultraedit打开查看生成的分析文件
标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈