您的位置:首页 > 数据库 > Oracle

ORACLE TKPROF使用步骤

2013-03-11 21:35 351 查看
1.Tkprof是一个分析ORACLE跟踪文件并且产生一个更加人性化清晰的输出结果的可执行工具。C:/oracle/ora92/bin/tkprof.exe

2. tkprof 全称

参考信息

http://www.itpub.net/showthread.php?s=cbfea4845ef5b2a3f4adb00de0de9317&threadid=577624&highlight=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行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: