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

 

北在南方 2016-04-14 11:23:58 浏览547 评论0

摘要: 介绍一款非常好用的10046分析工具--trca(Trace Analyzer),以前分析10046跟踪文件的时候都是使用tkprof 工具,但是trca 比tkprof要简单的多而且分析的结果更全面: 可以从ML的文章:Trace Analyzer TRCANLZR - Interpreting

介绍一款非常好用的10046分析工具--trca(Trace Analyzer),以前分析10046跟踪文件的时候都是使用tkprof 工具,但是trca 比tkprof要简单的多而且分析的结果更全面:
可以从ML的文章:Trace Analyzer TRCANLZR - Interpreting Raw SQL Traces with Binds and/or Waits generated by EVENT 10046 [ID 224270.1] 来下载此工具!
trca.zip 主要包括一下文件
install:
TRCACREA.sql - creates all objects needed by Trace Analyzer by calling other scripts below. 
TRCADROP.sql - drops the schema objects.
TRCAPKGB.sql - creates the package body.
TRCAPKGS.sql - creates the package header (specification). 
TRCAREPO.sql - creates the staging repository.
TRCADIRA.sql - creates the directory object pointing to the place where the trace files exist (only if placing traces on a directory other than user_dump_dest). 
TRCAGRNT.sql - grants privileges needed to use Trace Analyzer
TRCAREVK.sql - revokes privileges granted by TRCAGRNT.
TRCAPURG.sql - purges old SQL traces from the repository. 
TRCATRNC.sql - truncates the staging repository. 
TRCANLZR.sql - main Trace ANalyzer script. that generates the report. 
TRCACRSR.sql - generates report for one cursor. 
TRCAEXEC.sql - generates report for one cursor execution.
 
run:
trcanlzr.sql 用来分析10046产生的跟踪文件的 用法:
trcanlzr.sql  controlfile |跟踪文件名
下面介绍一下trca的安装和使用
进入/trca/install 目录,以sys 用户登录数据库:
sys@RAC> @tacreate.sql
Uninstalling TRCA, please wait
TADOBJ completed.
sys@RAC> 
sys@RAC> WHENEVER SQLERROR EXIT SQL.SQLCODE;
sys@RAC> REM If this DROP USER command fails that means a session is connected with this user.
sys@RAC> DROP USER trcanlzr CASCADE;
sys@RAC> WHENEVER SQLERROR CONTINUE;
sys@RAC> 
sys@RAC> SET ECHO OFF;
TADUSR completed.
TADROP completed.
Specify optional Connect Identifier (as per Oracle Net)
Include "@" symbol, ie. @PROD
If not applicable, enter nothing and hit the "Enter" key
Optional Connect Identifier (ie: @PROD): @rac
Define the TRCANLZR user password (hidden and case sensitive).
Specify TRCANLZR password: --输入用户TRCANLZR的密码
Re-enter password: 
Set up TRCANLZR temporary and default tablespaces
Below are the list of online tablespaces in this database.
Decide which tablespace you wish to create the TRCANLZR tables
and indexes.  This will also be the TRCANLZR user default tablespace.
Specifying the SYSTEM tablespace will result in the installation
FAILING, as using SYSTEM for tools data is not supported.
Wait...
Above is the list of online tablespaces in this database.
Decide which tablespace you wish to create the TRCANLZR tables
and indexes.  This will also be the TRCANLZR user default tablespace.
Specifying the SYSTEM tablespace will result in the installation
FAILING, as using SYSTEM for tools data is not supported.
 
Tablespace name is case sensitive.
Default tablespace [UNKNOWN]: EXAMPLE  --(必须大写,小写会创建失败)
DEFAULT_TABLESPACE
------------------------------
EXAMPLE
Choose the TRCANLZR user temporary tablespace.
Specifying the SYSTEM tablespace will result in the installation
FAILING, as using SYSTEM for the temporary tablespace is not recommended.
Wait...
TABLESPACE_NAME
------------------------------
TEMP
Tablespace name is case sensitive.
Temporary tablespace [UNKNOWN]: TEMP
TEMPORARY_TABLESPACE
------------------------------
TEMP
Type of TRCA repository
Create TRCA repoitory as Temporary or Permanent objects?
Enter T for Temporary or P for Permanent.
T is recommended and default value.
Type of TRCA repository [T]: T
TACUSR completed.
No errors.
SQLT$STAGE: created
SQLT$STAGE: READ,WRITE access granted to TRCANLZR
SQLT$STAGE: write test file tasqdirset.txt
SQLT$STAGE: read test file tasqdirset.txt
SQLT$STAGE: get attributes for file tasqdirset.txt
SQLT$STAGE: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
TRCA$STAGE: created
TRCA$STAGE: READ,WRITE access granted to TRCANLZR
TRCA$STAGE: write test file tasqdirset.txt
TRCA$STAGE: read test file tasqdirset.txt
TRCA$STAGE: get attributes for file tasqdirset.txt
TRCA$STAGE: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
SQLT$UDUMP: created
SQLT$UDUMP: READ access granted to TRCANLZR
SQLT$UDUMP: read test file tasqdirset.txt
SQLT$UDUMP: get attributes for file tasqdirset.txt
SQLT$UDUMP: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
SQLT$BDUMP: created
SQLT$BDUMP: READ access granted to TRCANLZR
SQLT$BDUMP: read test file tasqdirset.txt
SQLT$BDUMP: get attributes for file tasqdirset.txt
SQLT$BDUMP: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
TRCA$INPUT1: created
TRCA$INPUT1: READ access granted to TRCANLZR
TRCA$INPUT1: read test file tasqdirset.txt
TRCA$INPUT1: get attributes for file tasqdirset.txt
TRCA$INPUT1: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
TRCA$INPUT2: created
TRCA$INPUT2: READ access granted to TRCANLZR
TRCA$INPUT2: read test file tasqdirset.txt
TRCA$INPUT2: get attributes for file tasqdirset.txt
TRCA$INPUT2: /opt/rac/oracle/diag/rdbms/rac/rac1/trace
Connected.
 
TAUTLTEST completed.
no rows selected
TACOBJ completed.
tool_owner: "TRCANLZR"
Creating Package Specs TRCA$G
No errors.
Creating Package Specs TRCA$P
No errors.
Creating Package Specs TRCA$T
No errors.
Creating Package Specs TRCA$I
No errors.
Creating Package Specs TRCA$E
No errors.
Creating Package Specs TRCA$R
No errors.
Creating Package Specs TRCA$X
No errors.
Creating Views
Creating Package Body TRCA$G
No errors.
Creating Package Body TRCA$P
No errors.
Creating Package Body TRCA$T
No errors.
Creating Package Body TRCA$I
No errors.
Creating Package Body TRCA$E
No errors.
Creating Package Body TRCA$R
No errors.
Creating Package Body TRCA$X
No errors.
Creating Grants on Packages
Tool Version
----------------
11.4.3.1
Install Date
----------------
20111008
Directories
--------------------------------------------------------------------------------------------------------------------------------
TRCA$INPUT1(VALID)      /opt/rac/oracle/diag/rdbms/rac/rac1/trace
TRCA$INPUT2(VALID)      /opt/rac/oracle/diag/rdbms/rac/rac1/trace
TRCA$STAGE(VALID)       /opt/rac/oracle/diag/rdbms/rac/rac1/trace
user_dump_dest          /opt/rac/oracle/diag/rdbms/rac/rac1/trace
background_dump_dest    /opt/rac/oracle/diag/rdbms/rac/rac1/trace
 
Libraries
--------------------------------------------------------------------------------------------------------------------------------
VALID PACKAGE TRCA$I /* $Header: 224270.1 tacpkgi.pks 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE TRCA$E /* $Header: 224270.1 tacpkge.pks 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE TRCA$G /* $Header: 224270.1 tacpkgg.pks 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE TRCA$P /* $Header: 224270.1 tacpkgp.pks 11.4.1.4 2010/07/12 csierra $ */
VALID PACKAGE TRCA$R /* $Header: 224270.1 tacpkgr.pks 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE TRCA$T /* $Header: 224270.1 tacpkgt.pks 11.4.3.1 2011/06/17 csierra $ */
VALID PACKAGE TRCA$X /* $Header: 224270.1 tacpkgx.pks 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE BODY TRCA$I /* $Header: 224270.1 tacpkgi.pkb 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE BODY TRCA$E /* $Header: 224270.1 tacpkge.pkb 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE BODY TRCA$G /* $Header: 224270.1 tacpkgg.pkb 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE BODY TRCA$P /* $Header: 224270.1 tacpkgp.pkb 11.4.3.1 2011/06/17 csierra $ */
VALID PACKAGE BODY TRCA$R /* $Header: 224270.1 tacpkgr.pkb 11.4.2.7 2011/04/08 csierra $ */
VALID PACKAGE BODY TRCA$T /* $Header: 224270.1 tacpkgt.pkb 11.4.3.1 2011/06/17 csierra $ */
VALID PACKAGE BODY TRCA$X /* $Header: 224270.1 tacpkgx.pkb 11.4.2.7 2011/04/08 csierra $ */
TACPKG completed.
Taking a snapshot of some Data Dictionary objects, please wait...
19:56:30 => refresh_trca$_dict_from_this
19:56:30 -> purge_trca$_dict
19:56:30 dict_state_before_purge
19:56:30 -----------------------
19:56:30 -> print_dict_state
19:56:30 dict_refresh_days :
19:56:30 dict_refresh_date :
19:56:30 dict_database_id  :
19:56:30 dict_database_name:
19:56:30 dict_instance_id  :
19:56:30 dict_instance_name:
19:56:30 dict_host_name    :
19:56:30 dict_platform.     :
19:56:30 dict_rdbms_version:
19:56:30 dict_db_files     :
19:56:30 <- print_dict_state
19:56:30 -> purge_trca$_dict_gtt
19:56:30 <- purge_trca$_dict_gtt
19:56:30 dict_state_after_purge
19:56:30 ----------------------
19:56:30 -> print_dict_state
19:56:30 dict_refresh_days :
19:56:30 dict_refresh_date :
19:56:30 dict_database_id  :
19:56:30 dict_database_name:
19:56:30 dict_instance_id  :
19:56:30 dict_instance_name:
19:56:30 dict_host_name    :
19:56:30 dict_platform.     :
19:56:30 dict_rdbms_version:
19:56:30 dict_db_files     :
19:56:30 <- print_dict_state
19:56:30 <- purge_trca$_dict
19:56:30 -> trca$_file$
19:56:30 <- trca$_file$ (6 rows)
19:56:30 using serial execution
19:56:30 -> trca$_segments
19:56:31 <- trca$_segments (6040 rows)
19:56:31 -> trca$_extents_dm
19:56:31 <- trca$_extents_dm (0 rows)
19:56:31 -> trca$_extents_lm
19:56:46 <- trca$_extents_lm (10462 rows)
19:56:46 -> trca$_users
19:56:46 <- trca$_users (22 rows)
19:56:46 -> trca$_extents
19:56:46 <- trca$_extents (10374 rows)
19:56:46 -> purge_trca$_dict_gtt
19:56:46 <- purge_trca$_dict_gtt
19:56:46 -> trca$_tables$
19:56:47 <- trca$_tables$ (2857 rows)
19:56:47 -> trca$_indexes$
19:56:48 <- trca$_indexes$ (4855 rows)
19:56:48 -> trca$_ind_columns$
19:56:49 <- trca$_ind_columns$ (7669 rows)
19:56:49 -> trca$_tab_cols$
19:56:51 <- trca$_tab_cols$ (6864 rows)
19:56:51 -> trca$_objects$
19:56:51 <- trca$_objects$ (7690 rows)
19:56:51 -> trca$_parameter2$
19:56:51 <- trca$_parameter2$ (28 rows)
19:56:51 dict_state_after_refresh
19:56:51 ------------------------
19:56:51 -> print_dict_state
19:56:51 dict_refresh_days : 1
19:56:51 dict_refresh_date : 20111008
19:56:51 dict_database_id  : 2350763456
19:56:51 dict_database_name: RAC
19:56:51 dict_instance_id  : 1
19:56:51 dict_instance_name: rac1
19:56:51 dict_host_name    : rac1
19:56:51 dict_platform.     : Linux
19:56:51 dict_rdbms_version: 11.2.0.1.0
19:56:51 dict_db_files     : 200
19:56:51 <- print_dict_state
19:56:51 <= refresh_trca$_dict_from_this
PL/SQL procedure successfully completed.
Snapshot of some Data Dictionary objects completed.
TAUTLTEST completed.
TACREATE completed. Installation completed successfully.
 
创建了trcanlzr用户和分析trace 文件所需要的对象!

转【Oracle】一款非常好用的trace文件分析工具的更多相关文章

  1. 一款好用且免费的语句分析工具Plan Explorer

    在调优过程中的查询语句优化阶段,分析语句的执行计划是必经之路,一款好的执行计划分析工具确实可以帮助我们事半功倍 小贴士:Plan Explorer是将Plan Explorer 专业版与免费版整合在一 ...

  2. Oracle 10046 trace文件分析

    生成10046 trace文件: SQL> create table t10046 as select * from dba_objects; Table created. SQL> se ...

  3. [Oracle运维工程师手记] 如何从trace 文件,判断是否执行了并行

    [Oracle运维工程师手记系列]如何从trace 文件,判断是否执行了并行 客户说,明明指定了并行的hint,OEM 却报说没有并行,并且提供了画面. 客户的SQL文长这样: INSERT/*+ p ...

  4. 几款开源的hybird移动app框架分析

    几款开源的Hybrid移动app框架分析 Ionic Onsen UI 与 ionic 相比 jQuery Mobile Mobile Angular UI 结论 很多移动开发者喜欢使用原生代码开发, ...

  5. 【转载】推荐5款超实用的.NET性能分析工具

    来源:http://www.csdn.net/article/2012-11-23/2812174-5-Good-and-useful-.NET-Profilers 虽然.NET框架号称永远不会发生内 ...

  6. Animo.js :一款管理 CSS 动画的强大的小工具

    Animo.js 是一个功能强大的小工具,用于管理 CSS 动画.它的特色功能包括像堆栈动画,创建跨浏览器的模糊,设置动画完成的回调等等.Animo 还包括惊人的 animate.css,为您提供了近 ...

  7. 推荐25款实用的 HTML5 前端框架和开发工具【下篇】

    快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...

  8. Oracle中有个tkprof来格式化oracle的trace文件

    1.MySQL日志文件系统的组成2.慢查询日志3.慢查询日志演示long_query_time : 设定慢查询的阀值,超出次设定值的SQL即被记录到慢查询日志,缺省值为10sslow_query_lo ...

  9. [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler

    [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...

随机推荐

  1. linux下安装nodejs及cnpm

    http://www.runoob.com/nodejs/nodejs-install-setup.html https://www.cnblogs.com/zqzjs/archive/2017/01 ...

  2. CCF 2015-03-3 节日

    输出y1到y2年之间的每一年的a月份的第b个周c.感觉像是一个恶心的模拟.更像一个很恶心的小学奥赛题. 题目:http://115.28.138.223/view.page?gpid=T25 考试的时 ...

  3. SQL中游标的使用(转)

    http://www.cnblogs.com/tianguook/archive/2011/03/09/1977987.html 一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言, ...

  4. json批量设置DIV属性

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 16 extern用法、常量字符串的应用

    extern声明多文件共享变量的方法总结一下: 1).在一个源文件中定义,在其他需要使用的源文件中用extern声明.(仅一处定义,多处extern) 2).在一个源文件中定义,在其对应的头文件中ex ...

  6. HDU 4802 && HDU 4803 贪心,高精 && HDU 4804 轮廓线dp && HDU 4805 计算几何 && HDU 4811 (13南京区域赛现场赛 题目重演A,B,C,D,J)

    A.GPA(HDU4802): 给你一些字符串对应的权重,求加权平均,如果是N,P不计入统计 GPA Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  7. 在 Ubuntu 14.04 Chrome中安装Flash Player(转)

    在 Ubuntu 14.04 中安装 Pepper Flash Player For Chromium  一个 Pepper Flash Player For Chromium 的安装器已经被 Ubu ...

  8. AE项目打包

    Holinz AE项目打包 打包详细信息:Setup Factory 7.0打包软件,VS2005+AE92下的Winform项目1.依赖项:    Dot Net Framework20    AO ...

  9. IOS多线程编程:概述

    什么是多线程 多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径.从技术角度来看,一个线程就是一个需要管理执行代码的内核级和应用级数据结构组合.内核级结构协助调度线程事件,并抢占式调度一 ...

  10. SWIFT显示底部的工具条

    有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态.点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击 ...