返回顶部
首页 > 资讯 > 精选 >如何使用Oracle TRCA分析10046 Trace RAW文件
  • 301
分享到

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

2023-06-06 04:06:54 301人浏览 八月长安
摘要

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

这篇文章将为大家详细讲解有关如何使用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文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何使用Oracle TRCA分析10046 Trace RAW文件

本文链接: https://lsjlt.com/news/246147.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用Oracle TRCA分析10046 Trace RAW文件
    这篇文章将为大家详细讲解有关如何使用Oracle TRCA分析10046 Trace RAW文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 Oracle 10046是我们常用的...
    99+
    2023-06-06
  • 如何使用10046查看执行计划并读懂trace文件
    这篇文章给大家分享的是有关如何使用10046查看执行计划并读懂trace文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sq...
    99+
    2023-06-06
  • sqlplus中使用oradebug定位 alter session 10046事件产生的trace文件
     [root@HXZG ~]# su - oracle [oracle@HXZG ~]$ sqlplus  /&nb...
    99+
    2024-04-02
  • 怎么使用Android ANR分析trace文件的产生流程
    这篇文章主要介绍“怎么使用Android ANR分析trace文件的产生流程”,在日常操作中,相信很多人在怎么使用Android ANR分析trace文件的产生流程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-07-02
  • java dump文件分析工具如何使用
    要使用Java dump文件分析工具,首先需要下载并安装适合您操作系统的工具。一些常用的工具包括MAT(Memory Analyze...
    99+
    2023-10-10
    java dump
  • 数据库中如何使用10046事件跟踪SQL
    这篇文章主要介绍数据库中如何使用10046事件跟踪SQL,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!10046 事件概述 这是一个特殊的事件,可以被用来发起sql_trace类的...
    99+
    2024-04-02
  • 如何分析Linux文件系统
    这篇文章主要为大家分析了如何分析Linux文件系统的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何分析Linux文件系统”的知识吧。用计算机都需要在硬盘驱...
    99+
    2023-06-28
  • 如何用实例分析VB.NET拖放文件
    如何用实例分析VB.NET拖放文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET还是比较常用的,于是我研究了一下VB.NET拖放文件,下面介绍在VB...
    99+
    2023-06-17
  • 使用Mtools分析MongoDB日志文件
    一 Mtools介绍  mtools是一组用来解析和过滤MongoDB日志文件的脚本。mtools包括以下几个工具:  mlogfilter    可以根据时间切割日...
    99+
    2024-04-02
  • Oracle如何使用备份控制文件
    这篇文章主要为大家展示了“Oracle如何使用备份控制文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何使用备份控制文件”这篇文章吧。 ...
    99+
    2024-04-02
  • Oracle如何使dbf文件移动
    这篇文章主要为大家展示了Oracle如何使dbf文件移动,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。背景oracle空间不足,发现dbf文件未按设计的路径存...
    99+
    2024-04-02
  • 如何使用API调用分析恶意软件
    这篇文章主要为大家展示了“如何使用API调用分析恶意软件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用API调用分析恶意软件”这篇文章吧。我们发现有越来越多的恶意软件开始使用各种加密、封...
    99+
    2023-06-27
  • Java的dump文件分析及JProfiler使用
    Java的dump文件分析及JProfiler使用 1 dump文件介绍 从软件开发的角度上,dump文件就是当程序产生异常时,用来记录当时的程序状态信息(例如堆栈的状态),用于程序开发定位问题。 idea配置发生OOM的时候指定路径生...
    99+
    2023-08-19
    java intellij-idea 开发语言 dump JProfiler
  • 如何深度分析jvm中dump文件
    这篇文章将为大家详细讲解有关如何深度分析jvm中dump文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JVM dumpjava内存dump是jvm运行时内存的一份快照,利用它可以分析是否...
    99+
    2023-06-16
  • 如何分析Linux系统日志文件
    这篇文章的内容主要围绕如何分析Linux系统日志文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux系统中日志是一个非常重要的文件,日志文...
    99+
    2023-06-28
  • 数据库中如何利用systemstate dump trace文件寻找dg terminated原因
    这篇文章主要介绍了数据库中如何利用systemstate dump trace文件寻找dg terminated原因,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编...
    99+
    2024-04-02
  • 如何使用split命令分割Linux文件
    这篇文章主要为大家展示了“如何使用split命令分割Linux文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用split命令分割Linux文件”这篇文章吧。一些简单的 Linux 命令...
    99+
    2023-06-16
  • tcpdump抓取oracle报文以及使用Wireshark分析
    1、抓取oracle相关报文    从本机抓取发往本机oracle的报文    命令:tcpdump -w dumpfil&#...
    99+
    2024-04-02
  • 如何分析Swiper插件的原理和使用
    今天给大家介绍一下如何分析Swiper插件的原理和使用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Swiper介绍swiper是一款开源的解决前端开发中触摸...
    99+
    2023-06-29
  • 如何分析Unix文件名与Windows文件名的差异
    如何分析Unix文件名与Windows文件名的差异,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Unix操作系统中文件的命名规则并没有像Windows操作系统那么严格。或者说,...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作