Home  >  Article  >  Database  >  Oracle的10046事件跟踪简述

Oracle的10046事件跟踪简述

WBOY
WBOYOriginal
2016-06-07 17:30:381013browse

通常情况下,10046事件是不被推荐的,因为如果你面前需要处理的这个实例的性能是比较差的话,10046事件追踪,可能会让你的实例性

通常情况下,10046事件是不被推荐的,因为如果你面前需要处理的这个实例的性能是比较差的话,10046事件追踪,可能会让你的实例性能更加糟糕。通常情况下我们按照实际的业务情况获取一段时间的AWR报告就可以基本解决一些常见的问题,比如哪些SQL占用了我们更多的资源,比较吃紧的资源争夺,内存问题,出现了锁资源等等。

但是当AWR没有办法定位问题的时候,我们就可以启动10046追踪,下面是对10046追踪的一个最小化例子,我们可以在本机执行一次该10046追踪,下面的红色字体是敲入的命令:

00:17:06 ChenZw> alter session set tracefile_identifier='10046';

会话已更改。

00:17:09 ChenZw> alter session set events '10046 trace name context forever, level 12';

会话已更改。

00:17:34 ChenZw> select count(1) from all_objects;

  COUNT(1)
----------
    76791

已选择 1 行。

00:17:54 ChenZw> alter session set events '10046 trace name context off';

会话已更改。

可以看到上面的执行,第一句是设置追踪标识符,第二句是开启追踪,第三句是执行的句子,然后最后一句是关闭10046追踪。执行完上面的语句之后,当退出当前会话的时候,Oracle就会将追踪的结果写入到trace文件目录中,在我本机是如下地址:d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_ora_8732_10046.trc

这里,,我们就可以使用Oracle提供的tkprof来格式化打开追踪文件,进行分析,如下:

C:\>tkprof d:\oracle\diag\rdbms\orcl\orcl\trace\orcl_ora_8732_10046.trc D:\10046.txt sys=no sort=prsela,exeela,fchela

TKPROF: Release 11.1.0.6.0 - Production on 星期三 7月 10 00:23:18 2013

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

执行完上面的命令之后,我们就可以在D:\目录下面找到10046.txt,通过分析10046.txt我们就可以对刚刚的执行语句进行优化了,10046扩展追踪,非常适合于对那些把很多业务逻辑写入到存储过程中的软件调优。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:MySQL优化-using filesortNext article:MySQL视图(view)