使用 Tkprof 分析 ORACLE 跟踪文件3

OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS   call     count       cpu    elapsed       disk      query    current        rows ------- ------  -------- ---------- ---------- ---------- ----------  ---------- Parse        4      0.00       0.00          0          0          0           0 Execute      5      0.00       0.00          0          0          0           0 Fetch        4      0.79       7.45      57075      57082          0           2 ------- ------  -------- ---------- ---------- ---------- ----------  ---------- total       13      0.79       7.45      57075      57082          0           2   Misses in library cache during parse: 3 Misses in library cache during execute: 1   OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS   call     count       cpu    elapsed       disk      query    current        rows ------- ------  -------- ---------- ---------- ---------- ----------  ---------- Parse        0      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        0      0.00       0.00          0          0          0           0   Misses in library cache during parse: 0   5  user  SQL statements in session. 0  internal SQL statements in session. 5  SQL statements in session. ******************************************************************************** Trace file: d:/app/administrator/diag/rdbms/orcl/orcl/trace/orcl_ora_7240.trc Trace file compatibility: 11.1.0.7 Sort options: fchela 1  session in tracefile. 5  user  SQL statements in trace file. 0  internal SQL statements in trace file. 5  SQL statements in trace file. 5  unique SQL statements in trace file. 73  lines in trace file. 75  elapsed seconds in trace file.   五.  分析会话的示例: 先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号:14483 然后在数据库中根据PID号找到相应的sid号和serial#: SQL> select s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and p.spid='14483'; SID    SERIAL# ---------- ---------- 101      25695 使用dbms_system.set_sql_trace_in_session包来对这个session进行trace: SQL> exec DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(101,25695,true); PL/SQL procedure successfully completed. 到user_dump_dest定义的路径下查找刚刚最近生成的trace文件,可以根据时间来排序,找最近的trace文件,也可以根据SID_ORA_SPID.TRC的规则,即ORCL_ORA_14483.TRC找到TRACE文件。   接着使用tkprof工具对此trace文件进行格式化分析,生成分析后的trace文件。 $tkprof orcl_ora_14483.trc allan.txt explain=system/manager aggregate=yes sys=no waits=yes sort=fchela TKPROF: Release 11.2.0.1.0 - Development on 星期五 5月 28 16:48:49 2010 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved. 这里生成的allan.txt文件就是我们最终得到的格式化后的trace文件了,然后打开这个文件进行分析。 最后总的统计: OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS call    count       cpu    elapsed       disk      query    current        rows ------- ------  -------- ---------- ---------- ---------- ----------   -------- Parse     20      0.01       0.02          0         58         0           0 Execute 13197     0.81       0.90         17       7436     6316          1484 Fetch   12944    22.86      22.10         20    2205941        0          8972 ------- ------  -------- ---------- ---------- ---------- ---------- -------- total    26161     23.68     23.02         37    2213435     6316       10456
posted @ 2012-07-16 18:45  adodo1  Views(199)  Comments(0Edit  收藏  举报