oracle的SQL Trace(SQL跟踪)



使用sql跟踪的简单的步骤:
1.设置下面两个参数。
  timed_statistics=true(允许在系统中执行跟踪操作)
  max_dump_file_size=unlimited(跟踪文件所在路径下能达到的最大值)

oracle的SQL Trace(SQL跟踪)_第1张图片

2.针对sql*plus会话启动sql跟踪

alter session set sql_trace true;

3.运行需要跟踪的查询

select ename,sal from scott.emp where empno||''=7321;

4.对sql*plus会话停止跟踪

alter session set sql_trace false;


运行完SQL跟踪后,输出文件类似于如下所示

orcl_ora_spid.trc(其中spid是进程的id号,例如:orcl_ora_3386.trc);


生成的文件.trc很难阅读,可以使用tkprof实用程序把生成的跟踪文件转换成可阅读的格式。

例如:

tkprof orcl_ora_3386.trc wlp.prf explain=system/wlp

跟踪文件的输出部分如下:

oracle的SQL Trace(SQL跟踪)_第2张图片

1.sql语句部分(包含跟踪执行的sql语句,必须是完整语句,包括提示或注释)

2.统计部分(由8列组成,第一类是调用类型:解析(parse),执行(execute)和数据提取(fetch))

其中

count :这种类型的调用次数

cpu:这种类型调用的总的cpu时间。

elapsed:总的消耗时间

disk:物理读数

query:数据缓冲区条目。通常是select

current:数据缓冲区条目。通常是DML

rows:处理的总行数

3.信息部分(分析和执行调用中丢失的库缓存数量信息)

4.行源(row resource)操作部分

5.执行计划


你可能感兴趣的:(oracle,sql,sql,trace,tuning,跟踪)