【Oracle】一款非常好用的trace文件分析工具之二

简介: 前一篇文章介绍了如何安装trca,接下来介绍如何使用trca:必须进入 trca/run 目录里面 或者把 /home/oracle/software/trca/run 放到SQL_PATH环境变量里面:使用trcanlzr.
前一篇文章介绍了如何安装trca,接下来介绍 如何使用trca:必须进入 trca/run 目录里面 或者把 /home/oracle/software/trca/run 放到SQL_PATH环境变量里面:
使用trcanlzr.sql的时候可以直接跟trace 文件名字,该工具默认会到user_dump_dest 里面去找(对于10g以前的,会到bdump_dest 里面去找跟踪文件)
sys@RAC> show parameter user_dump_dest
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest                       string      /opt/rac/oracle/diag/rdbms/rac
                                                 /rac1/trace
oracle@rac1:/home/oracle/software/trca/run>sqlplus "/as sysdba"   
SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 8 19:57:15 2011
sys@RAC>  @trcanlzr.sql  rac1_ora_17428.trc
Parameter 1:
Trace Filename or control_file.txt (required)
Value passed to trcanlzr.sql:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TRACE_FILENAME: rac1_ora_17428.trc
Analyzing rac1_ora_17428.trc
To monitor progress, login as TRCANLZR into another session and execute:
SQL> SELECT * FROM trca$_log_v;
... analyzing trace(s) ...
Trace Analyzer completed.
Review first trcanlzr_error.log file for possible fatal errors.
Review next trca_e85484.log for parsing messages and totals.
Copying now generated files into local directory
TKPROF: Release 11.2.0.1.0 - Development on Sat Oct 8 19:57:34 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
  adding: trca_e85484.html (deflated 90%)   执行分析脚本以后,会产生五个文件,并打包成.zip文件
  adding: trca_e85484.log (deflated 83%)
  adding: trca_e85484.tkprof (deflated 85%)
  adding: trca_e85484.txt (deflated 87%)
  adding: trcanlzr_error.log (deflated 81%)
test of trca_e85484.zip OK
deleting: trcanlzr_error.log
Archive:  trca_e85484.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
   215465  10-08-11 19:57   trca_e85484.html
    15721  10-08-11 19:57   trca_e85484.log
    27117  10-08-11 19:57   trca_e85484.tkprof
   115329  10-08-11 19:57   trca_e85484.txt
 --------                   -------
   373632                   4 files
File trca_e85484.zip has been created
TRCANLZR completed.
SQL>EXIT
oracle@rac1:/home/oracle/software/trca/run>ls
trca_e85484.zip  trcanlzr.sql
oracle@rac1:/home/oracle/software/trca/run>unzip trca_e85484.zip 
Archive:  trca_e85484.zip
  inflating: trca_e85484.html        
  inflating: trca_e85484.log         
  inflating: trca_e85484.tkprof      
  inflating: trca_e85484.txt         
oracle@rac1:/home/oracle/software/trca/run>ls
trca_e85484.html  trca_e85484.log  trca_e85484.tkprof  trca_e85484.txt  trca_e85484.zip  trcanlzr.sql
trca_e85484.html  --可以以网页形式查看统计信息
trca_e85484.log   --分析过程的日志
trca_e85484.tkprof --和常规的tkprof 产生的文件一样:记录了所有sql的执行计划,Parse,Execute,Fetch  。
trca_e85484.txt   --以文本形式看出统计信息,和html的内容一样,只是形式是文本的方式。

相对于tkprof的优势:
1.  跟踪文件分析器能够显示出确切的绑定变量的值,dba再也不用考虑sql运行时,变量的值具体是什么!
显示的sql语句如下
DELETE FROM HISTORY where ALERT_TIME
Trace Analyzer 将会显示如下形式:
0:"2/4/2003 15:57:35" 1:1
就相当于:
DELETE FROM HISTORY where ALERT_TIME
 
2. Trace Analyzer 提供热块,优化器收集索引和表的统计信息和其他的信息,而这些是tkprof所不能提供的。
下面的输出展示了sql语句及其执行计划和相关对象的统计信息。
DELETE FROM SCOTT.EMPLOYEE
call      count     cpu   elapsed      disk     query  current          rows    misses
------- ------- -------   -------- -------- --------- --------- ------------ ---------
Parse       1      0.00    0.00       0         0         0            0         0
Execute     3      0.05    0.52       0        27       224          216         0
------- -------- -------- -------- -------- --------- ---------  -----------  --------
total       4      0.05    0.52       0        27       224          216         0

Explain Plan
---------------------------------------------------------------
...3 DELETE STATEMENT
...2 .DELETE OF 'SCOTT.EMPLOYEE
...1 ..TABLE ACCESS (FULL) OF ‘SCOTT.EMPLOYEE'
OWNER.TABLE_NAME
...owner.index_name                  num rows     blocks     sample last analyzed date
------------------------------------ ---------- ---------- ---------- -------------------
SCOTT.EMPLOYEE..........................
 
The output above indicates that the EMPLOYEE table does not have statistics.
 
3.Trace Analyzer与tkprof工具不同,Trace Analyzer 将普通用户的递归和系统内部的递归调用分开。
4.Trace Analyzer 提供更多的等待事件的细节,更有利于dba做出基于等待事件的优化措施
Event                                      Times     Count      Max.     Total    Blocks
waited on                                 Waited   Zero Time    Wait    Waited  Accessed
----------------------------------------- --------- --------- -------   ------- --------
PL/SQL lock timer........................     15         0      5.01     75.08
log file sync............................      1         0      0.01      0.01
library cache pin........................      1         0      0.00      0.00
SQL*Net message from client (idle).......      2         0     17.22     30.21
SQL*Net message to client (idle).........      3         0      0.00      0.00
total....................................     22         0     17.22    105.30     0
 
目录
相关文章
|
8月前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
2月前
|
SQL Oracle 关系型数据库
Oracle 从 DMP 文件中恢复指定表的步骤
Oracle 从 DMP 文件中恢复指定表的步骤
81 7
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的数据文件
在Oracle数据库中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件存储实际的数据库数据。查询时,如果内存中没有所需数据,Oracle会从数据文件中读取并加载到内存。可通过SQL语句查看和管理数据文件。附有视频讲解及示例。
|
4月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
3月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,
|
6月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle备份工具
【7月更文挑战第19天】
100 4
|
6月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法