Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235669
  • 博文数量: 47
  • 博客积分: 1630
  • 博客等级: 上尉
  • 技术积分: 972
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-20 12:52
文章存档

2013年(12)

2012年(6)

2010年(27)

2009年(2)

我的朋友

分类: Oracle

2010-06-13 11:02:13

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行

阅读(760) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~