我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Oracle TRCA分析10046 Trace RAW文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Oracle TRCA分析10046 Trace RAW文件

这篇文章将为大家详细讲解有关如何使用Oracle TRCA分析10046 Trace RAW文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

 

Oracle 10046是我们常用的一种性能诊断工具。它可以将SQL执行过程中,每个步骤操作的内容、时间和对象等细节信息记录在Trace文件里面。

 

10046直接生成的Trace文件我们称为RAW格式文件,RAW格式记录了所有的步骤操作细节。直接阅读RAW文件可以帮助我们更细的理解Oracle行为方式,但是RAW格式一般都是体积较大,可读性较差。

 

Tkprof是随着10046 Trace工具推出的一个小工具,用于处理RAW格式文件。Tkprof可以将跟踪的文件步骤抽取为各个SQL语句的分项统计,并且依据时间和CPU情况进行排序处理。但是,基于命令行的Tkprof也有一些缺点,比如对SQL语句之间关联性(Recursive Call)的分析不是很强,一些细节信息缺失等。

 

于是,Oracle Support提供了另一种分析RAW格式文件的手段方式,就是TRCA(Trace Analyzer)工具包。

 

1、安装和卸载

 

TRCA是Oracle Support提供了一个免费工具,我们可以从MOS 224270.1中下载安装包和说明文档。

 

与Tkprof不同的是,TRCA是需要额外安装在数据库服务器中的工具。运行过程需要额外的表空间和账号对应。

 

我们首先将其zip包上传到服务器目录上,解压到目录。

 

 

[oracle@SimpleLinux upload]$ ls -l | grep trca

drwxr-xr-x 7 root   root       4096 Oct 25 09:36 trca

 

 

创建TRCA表空间,表空间大小尽量维持在200M-500M左右,过小的存储容易在运行处理的时候报错。

 

 

SQL> create tablespace trcatbl datafile size 100m autoextend on

  2  extent management local uniform. size 1m

  3  segment space management auto;

 

Tablespace created

 

[root@SimpleLinux upload]# chown -R oracle:oinstall trca

[root@SimpleLinux upload]# ls -l

total 716

-rwxr-xr-x 1 oracle oinstall   3037 Oct 22 09:42 hugepages_settings.sh

drwxr-xr-x 3 root   root       4096 Oct 15 11:28 iftop-0.17

-rw-r--r-- 1 root   root     716800 Oct 15 11:27 iftop-0.17.tar.gz

drwxr-xr-x 7 oracle oinstall   4096 Oct 25 09:36 trca

 

 

进入trca目录,在其中可以运行安装脚本。

 

 

[oracle@SimpleLinux upload]$ cd trca/

[oracle@SimpleLinux trca]$ ls -l

total 36

drwxr-xr-x 2 root root  4096 Oct 25 09:36 dict

drwxr-xr-x 2 root root  4096 Oct 25 09:36 doc

drwxr-xr-x 2 root root  4096 Oct 25 09:36 install

drwxr-xr-x 2 root root  4096 Oct 25 09:36 run

-rw-r--r-- 1 root root 16227 Oct 25 09:36 trca_instructions.html

drwxr-xr-x 2 root root  4096 Oct 25 09:36 utl

[oracle@SimpleLinux trca]$ cd install/

[oracle@SimpleLinux install]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 25 09:40:59 2013

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL>

 

 

执行安装脚本tacreate.sql,根据提示内容和信息回答脚本问题。

 

 

SQL> @tacreate.sql

        zip warning: name not matched: *_ta*.log

 

zip error: Nothing to do! (TRCA_installation_logs_archive.zip)

 

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.

 

(篇幅原因,有省略……)

 

TRCA users must be granted TRCA_USER_ROLE before using this tool.

TACREATE completed. Installation completed successfully.

 

 

注意,上面部分代码片段截取比较多。在安装过程中,有两个问题需要注意:首先是输入TRCA工具表空间和临时表空间名称,安装脚本会将其列出来,我们输入的时候要注意大小写。另一个是安装过程中需要输入一个可以用TRCA工具的Oracle用户名,这里可以输入一个。但是不用着急,以后可以通过赋予角色TRCA_USER_ROLE给其他用户来让他人有使用权限。

 

 

SQL> grant TRCA_USER_ROLE to public

  2  ;

 

Grant succeeded.

 

 

到此,TRCA就安装完成。

 

卸载TRCA比较简单,只需要单独执行install目录中的tadrop.sql脚本就可以了。

 

 

[oracle@SimpleLinux install]$ ls -l | grep tadrop

-rw-r--r-- 1 root root   1308 Oct 25 09:36 tadrop.sql

[oracle@SimpleLinux install]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 25 09:47:48 2013

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> @tadrop.sql

Uninstalling TRCA, please wait

 

(篇幅原因,有省略……)

SQL>

SQL> SET ECHO OFF;

TADUSR completed.

TADROP completed.

 

 

2、Trace RAW实验文件准备

 

为了进行实验,我们先准备出一个10046的Trace文件。

 

 

SQL> select value from v$diag_info where name='Default Trace File';

VALUE

----------------------------------------------------------------------

/u01/app/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_3121.trc

 

 

SQL> alter session set events '10046 trace name context forever, level 12';

Session altered.

 

SQL> select count(*) from dba_objects;

  COUNT(*)

----------

     75296

 

SQL> alter session set events '10046 trace name context off';

Session altered.

 

[oracle@SimpleLinux trace]$ ls -l | grep 3121

-rw-r----- 1 oracle oinstall   21352 Oct 25 09:06 ora11g_ora_3121.trc

-rw-r----- 1 oracle oinstall     244 Oct 25 09:06 ora11g_ora_3121.trm

 

 

额外说明:11g中,Trace文件生成后,还会有对应的一个trm文件。根据MOS的说明,trm文件用于Oracle官方的一些性能诊断工具,其中包括一些Metadata信息。所以,还是不要轻易删除掉。

 

3、运行TRCA分析

 

得到trace文件目录之后,就可以进行分析了。TRCA是一个性能分析工具,但是自身的CPU和内存消耗量是不大的。原则上,我们还是选择使用Trace源数据库进行分析就好。

 

运行TRCA,需要在sqlplus中运行run目录的脚本。

 

 

[oracle@SimpleLinux trca]$ cd run/

[oracle@SimpleLinux run]$ ls -l

total 20

-rw-r--r-- 1 root root 8587 Oct 25 09:36 trcanlzr.sql

-rw-r--r-- 1 root root 7784 Oct 25 09:36 trcasplit.sql

 

 

使用具有TRCA_USER_ROLE权限的用户执行程序。

 

 

[oracle@SimpleLinux run]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 25 09:54:32 2013

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> @trcanlzr.sql /u01/app/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_3121.trc

 

PL/SQL procedure successfully completed.

 

Parameter 1:

Trace Filename or control_file.txt (required)

 

 

TKPROF: Release 11.2.0.3.0 - Development on Fri Oct 25 10:07:21 2013

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

(篇幅原因,有省略……)

 

  adding: trca_e79866.html (deflated 90%)

  adding: trca_e79866.log (deflated 83%)

  adding: trca_e79866_nosort.tkprof (deflated 86%)

  adding: trca_e79866_sort.tkprof (deflated 86%)

  adding: trca_e79866.txt (deflated 87%)

  adding: trcanlzr_error.log (deflated 83%)

test of trca_e79866.zip OK

deleting: trcanlzr_error.log

Archive:  trca_e79866.zip

  Length     Date   Time    Name

 --------    ----   ----    ----

   172492  10-25-13 10:07   trca_e79866.html

    16093  10-25-13 10:07   trca_e79866.log

    22867  10-25-13 10:07   trca_e79866_nosort.tkprof

    22899  10-25-13 10:07   trca_e79866_sort.tkprof

    88541  10-25-13 10:07   trca_e79866.txt

 --------                   -------

   322892                   5 files

 

File trca_e79866.zip has been created

TRCANLZR completed.

SQL>


最后,在处理目录上,会出现一个新的压缩包,其中包括了RAW文件处理结果。


[oracle@SimpleLinux run]$ ls -l

total 60

-rw-r--r-- 1 oracle oinstall 39283 Oct 25 10:07 trca_e79866.zip

-rw-r--r-- 1 oracle oinstall  8587 Oct 25 09:36 trcanlzr.sql

-rw-r--r-- 1 oracle oinstall  7784 Oct 25 09:36 trcasplit.sql

注意,在处理过程中,有一个部分描述了处理的结果文件,其中包括处理日志、结果报告的html和txt文件。另外,TRCA也融合了tkprof的功能,在结果文件中包括了排序和未排序处理的tkprof结果文件。

 

4、TRCA结果分析

 

相对于tkprof的处理结果,TRCA的内容要丰富的多,而且处理结果可读性强得多。针对SQL中常见的recursive call的关系,TRCA html格式输出都有不错的处理展示。

首先在其中的是SQL消耗响应时间的统计情况。

还有针对Recursive Call关系,查看一个SQL语句执行过程中,是哪个环节消耗比较高。

针对每条SQL语句,我们也可以查看到执行计划和对应统计信息。

注意一个问题,TRCA是有处理门限值的。并不是每条语句都能出现在报告中,只有消耗达到一定程度(10%)的情况才会有体现。

借助Oracle提供的很多工具,我们可以方便的了解遇到的问题,进行分析处理。TRCA作为tkprof的一种补充,在报告可读性、信息详实程度上,有了很大的提升。

关于如何使用Oracle TRCA分析10046 Trace RAW文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用Oracle TRCA分析10046 Trace RAW文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用Oracle TRCA分析10046 Trace RAW文件

这篇文章将为大家详细讲解有关如何使用Oracle TRCA分析10046 Trace RAW文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 Oracle 10046是我们常用的一种性能诊
2023-06-06

如何使用10046查看执行计划并读懂trace文件

这篇文章给大家分享的是有关如何使用10046查看执行计划并读懂trace文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sq
2023-06-06

怎么使用Android ANR分析trace文件的产生流程

这篇文章主要介绍“怎么使用Android ANR分析trace文件的产生流程”,在日常操作中,相信很多人在怎么使用Android ANR分析trace文件的产生流程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-07-02

如何使用 Java dump 文件分析工具?(java dump文件分析工具如何使用)

在Java开发过程中,dump文件是一个非常重要的工具,它可以帮助我们分析应用程序的运行状态、内存使用情况等。本文将介绍Javadump文件分析工具的使用方法,帮助你更好地理解和解决应用程序中的问题。一、什么是Javadump文件?Javad
如何使用 Java dump 文件分析工具?(java dump文件分析工具如何使用)
dumpJava2024-12-20

如何使用 Java dump 文件分析工具?(java dump文件分析工具怎么使用)

在Java开发过程中,dump文件是一个非常重要的调试工具。它可以帮助开发人员捕获Java虚拟机(JVM)在运行时的状态信息,包括线程状态、对象状态、内存使用情况等。通过分析dump文件,开发人员可以快速定位和解决问题,提高开发效率。本文将介绍Javadump文件分析工具的
如何使用 Java dump 文件分析工具?(java dump文件分析工具怎么使用)
dumpJava2024-12-22

java dump文件分析工具如何使用

要使用Java dump文件分析工具,首先需要下载并安装适合您操作系统的工具。一些常用的工具包括MAT(Memory Analyzer Tool)和VisualVM。以下是使用MAT进行Java dump文件分析的一般步骤:1. 下载并安装
2023-10-10

如何用实例分析VB.NET拖放文件

如何用实例分析VB.NET拖放文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET还是比较常用的,于是我研究了一下VB.NET拖放文件,下面介绍在VB
2023-06-17

如何使用LangChain和OpenAI API分析文档?

借助少许代码和一些实用的库,您就能构建一个功能强大的文档分析工具。
OpenAILangChain2024-11-30

如何使用API调用分析恶意软件

这篇文章主要为大家展示了“如何使用API调用分析恶意软件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用API调用分析恶意软件”这篇文章吧。我们发现有越来越多的恶意软件开始使用各种加密、封
2023-06-27

如何使用split命令分割Linux文件

这篇文章主要为大家展示了“如何使用split命令分割Linux文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用split命令分割Linux文件”这篇文章吧。一些简单的 Linux 命令
2023-06-16

如何分析Swiper插件的原理和使用

今天给大家介绍一下如何分析Swiper插件的原理和使用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Swiper介绍swiper是一款开源的解决前端开发中触摸
2023-06-29

使用ftpClient如何实现下载ftp文件解析

使用ftpClient如何实现下载ftp文件解析?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。总体思路有以下:  1、得到所有路径以及子路径:递归遍历所有文件到路径。参数:
2023-05-31

如何在 Linux 中使用 split 命令拆分文本文件

让我们来探索如何在 Linux 中使用 split 命令来拆分文件。无论您需要从大文件中提取特定部分,还是将文件拆分为较小的块,split 命令都可以帮助您轻松实现目标。
Linux文件2024-11-30

Linux下如何使用split对文件进行切分

这篇文章主要介绍Linux下如何使用split对文件进行切分,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!split可以将一个大文件分割成多个小文件,有时候需要将问卷分割成更小的片段,比如提高可读性,生成日志。合久必
2023-06-27

如何使用PSRansom进行勒索软件安全分析

该工具可以帮助广大研究人员模拟针对任何操作系统平台的通用勒索软件数据加密过程。

财务状况分析软件如何选择和使用

在当前的商业环境中,财务状况分析软件已经成为企业管理的重要工具。这些软件可以帮助企业实时跟踪和分析财务数据,从而更有效地管理财务状况。然而,如何选择和使用财务状况分析软件并不是一件容易的事情。本篇文章将详细说明如何选择和使用财务状况分析软件。正文:首先,选择财务状况分析软件需要考虑以下几个因素。第一,软件的功能。
财务状况分析软件如何选择和使用
2023-11-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录