oracle的SQL Trace(SQL跟踪)



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

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

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

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

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

其中

count :这种类型的调用次数

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

elapsed:总的消耗时间

disk:物理读数

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

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

rows:处理的总行数

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

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

5.执行计划


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值