TKPROF阅读Oracle Trace

简介:

SQL Trace主要是对数据库进行SQL监测,可以随时监测和调整作用于数据的应用程序。比如ERP系统它的应用界面很多,涉及的底层操作也很多,如果想知道在某个界面的操作在底层数据库执行了哪些SQL语句,就需要开启Trace功能记录下这些SQL操作,方便开发人员了解上层应用程序对数据库做了哪些动作。本篇通过简单实例演示如何使用TKPROF阅读Oracle Trace文件。

1. 开启Trace功能

有些应用程序本身可以提供开启Trace的功能。比如Oracle的ERP在应用程序界面的菜单栏都会有Trace功能,如下图:

2009-8-19-9.18.15

PL/SQL的菜单中也有相同设置:

2009-8-19-9.19.59

当然也可以在SQLPLUS中执行下面命令来开启Trace:

alter session set sql_trace = true; /*开启*/
alter session set sql_trace = false; /*关闭*/

2. 记录SQL到Trace文件

通过SQLPLUS登录数据库,开启Trace功能,执行一个SQL语句,关闭Trace:

2009-8-19-9.29.45副本

3. 浏览Trace文件

打开Trace文件目录: 
cd /ora10g/admin/otdrdb/udump

按日期显示,出现在顶端的文件即为刚刚生成的Trace文件: 
ls –t |more 2009-8-19-11.34.34

先看一下未经过处理的Trace文件,其内容格式不方便阅读: 
more otdrdb_ora_30597.trc

2009-8-19-11.38.01

用tkprof 对otdrdb_ora_30597.trc进行一下处理: 
tkprof otdrdb_ora_30597.trc 
输入output文件名称,例如otdrdb_ora_30597.txt 2009-8-19-11.43.28

再来看一下处理后otdrdb_ora_30597.txt文件的内容: 
2009-8-19-11.48.42副本

之前执行的select count(*) from users语句就会在Trace文件中体现出来,并且相应的一些执行参数也会体现出来。 这样就可以通过这个方式随时监视应用程序对数据库的操作了。

更多TKPROF内容可参考http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96533/sqltrace.htm#1018






本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2009/08/19/1549725.html,如需转载请自行联系原作者

相关文章
|
Oracle 前端开发 关系型数据库
在Oracle的ADR中设置自动删除trace文件的策略
姚远在一个有两万个客户的公司做数据库支持,什么稀奇古怪的事情都能遇到,有个客户的数据库不停地产生大量的trace,经常把硬盘撑爆,看看姚远怎么解决这个问题的。
122 0
|
Oracle 前端开发 关系型数据库
在Oracle的ADR中设置自动删除trace文件的策略
姚远老师在一个有两万个客户的公司做数据库支持,什么稀奇古怪的事情都能遇到,有个客户的数据库不停地产生大量的trace,经常把硬盘撑爆,看看姚远怎么解决这个问题的。
130 0
|
Oracle 关系型数据库
Oracle trace文件的清理
Oracle trace文件的清理
597 0
Oracle trace文件的清理
|
Oracle 关系型数据库 Unix
Oracle中常用跟踪诊断trace配置
Oracle中常用跟踪诊断trace配置
254 0
|
监控 Oracle 关系型数据库