1.tkprof是一个分析oracle跟踪文件并且产生一个更加人性化清晰的输出结果的可执行工具。c:/oracle/ora92/bin/tkprof.exe
2. tkprof 全称
3. 基本的使用步骤
1) sql> alter system set timed_statistics=true;
2) 用户级自跟踪:
sql>alter session set sql_trace=true;
sql>alter session set sql_trace=false;
用户级dba跟踪:(例如sys跟踪test,需要用sysdba登录)
. a). sql>select s.username,s.sid,s.serial#,s.command from v$session s
where s.username=’colm’ ;
b). sql>exec sys.dbms_system.set_sql_trace_in_session(9,7,true);
c). sql>exec sys.dbms_system.set_sql_trace_in_session(9,7,false);
ps:9为sid,7为serial#
3) c:> cd c:/oracle/admin/colm/udump
4) c:/oracle/admin/colm/udump> tkprof colm_ora_2056.trc trace.txt print=100 record=sql.txt sys=no
5) 查看trace.txt文件
范例:
*******************************************************************************
select *
from
col_case
call count cpu elapsed disk query current rows
——- —— ——– ———- ———- ———- ———- ———-
parse 1 0.00 0.00 0 0 0 0
execute 0 0.00 0.00 0 0 0 0
fetch 0 0.00 0.00 0 0 0 0
——- —— ——– ———- ———- ———- ———- ———-
total 1 0.00 0.00 0 0 0 0
misses in library cache during parse: 1
optimizer goal: choose
parsing user id: 62
需要调整的语句符合以下几点:
(1).cpu占用过多
(2).parse,execute,fetch花费太多时间
(3).disk读取太多,query/current(sga)中数据块读取太少
(4).访问许多块,只返回2行