使用sql_trace/10046事件进行数据库诊断(二)

2014-11-24 12:08:58 · 作者: · 浏览: 2
[print= ] [insert= ] [sys= ] [sort= ]
table=schema.tablename Use 'schema.tablename' with 'explain=' option.
explain=user/password Connect to ORACLE and issue EXPLAIN PLAN.
print=integer List only the first 'integer' SQL statements.
aggregate=yes|no
insert=filename List SQL statements and data inside INSERT statements.
sys=no TKPROF does not list SQL statements run as user SYS.
record=filename Record non-recursive statements found in the trace file.
waits=yes|no Record summary for any wait events found in the trace file.
sort=option Set of zero or more of the following sort options:
prscnt number of times parse was called
prscpu cpu time parsing
prsela elapsed time parsing
prsdsk number of disk reads during parse
prsqry number of buffers for consistent read during parse
prscu number of buffers for current read during parse
prsmis number of misses in library cache during parse
execnt number of execute was called
execpu cpu time spent executing
exeela elapsed time executing
exedsk number of disk reads during execute
exeqry number of buffers for consistent read during execute
execu number of buffers for current read during execute
exerow number of rows processed during execute
exemis number of library cache misses during execute
fchcnt number of times fetch was called
fchcpu cpu time spent fetching
fchela elapsed time fetching
fchdsk number of disk reads during fetch
fchqry number of buffers for consistent read during fetch
fchcu number of buffers for current read during fetch
fchrow number of rows fetched
userid userid of user that parsed the cursor
www.2cto.com
我们通过一个例子来介绍对tkprof的使用:
[sql]

SQL> show parameter timed_statistics

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
SQL> show parameter max_dump_file_size

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------
max_dump_file_size string UNLIMITED

[sql]
sys@ORCL> alter session set sql_trace=true;
sys@ORCL> select * from hr.departments;
sys@ORCL> alter session set sql_trace=false; --最好是关闭跟踪,减小对性能的开销
sys@ORCL> exit; --在运行完查询后,要退出sql*plus(断开连接),这样才能完全关闭跟踪文件,使trace文件的所有信息都是有效的。
然后,我们就可以使用tkprof:
www.2cto.com
[sql]
[oracle@localhost ~]$ tkprof /u01/app/oracle/admin/orcl/udump/orcl_ora_5467.trc tkprof_think.txt
TKPROF: Release 10.2.0.1.0 - Production on Fri Jul 27 11:18:13 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
[oracle@localhost ~]$ ls
tkprof_think.txt
作者 linwaterbin