详细的介绍见
http://blog.oracle.com.cn/index.php/120901/viewspace-2109.html这里说说我的简单的跟踪。
SQL_TRACE跟踪SQL语句,要使用SQL_TRACE,必须使用SYS用户,使用SYSDBA身份登录,下列的命令使用SQL*PLUS或pl/sql developer的Command窗口。
以跟踪goldmapclient为例,首先使用如下SQL语句获取goldmapclient的SESSION信息
select sid, serial#, username from
v$session;
假设取到的INTOOLS登录session的sid = 9, serial# =
71,
则执行下列命令对该session进行监听(以下命令好像必须在command命令窗口中执行,在sql windows中运行不起来,不知道要怎么执行)
exec dbms_system.set_sql_trace_in_session(9,71,true);
然后操作goldmapclient,操作完成后使用下面命令关闭监听
exec
dbms_system.set_sql_trace_in_session(9,71,false);
则在%ORACLE_HOME%\ADMIN\[服
务名]\udump目录下生成最新的.trc跟踪文件,可使用ORACLE提供的工具程序tkprof将.trc文件解析为更易读的文件:
tkprof [.trc文件路径] [目标文件路径]
后面还可加上如下一些参数,其中比较有用的一个排序选项是fchela,即按照elapsed time
fetching来对分析的结果排序(记住要设置初始化参数time_statistics=true),
生成的.prf文件将把最消耗时间的sql放在
最前面显示。另外一个有用的参数就是sys,这个参数设置为no可以阻止所有以sys用户执行的sql被显示出来,这样可以减少分析出来的文件的复杂度,便于查看。
这样将会产生一个目标文件*.prf.用文本编辑器就可以打开这个文件察看了
阅读(1296) | 评论(0) | 转发(0) |