当前位置:数据库 > Oracle >>

Oracle的10046事件跟踪简述

Oracle的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.

 

 
作者 陈字文(热衷于PM\ORACLE\JAVA等,欢迎同行交流)EMAIL:ziwen@163.com  QQ:409020100
 
执行完上面的命令之后,我们就可以在D:\目录下面找到10046.txt,通过分析10046.txt我们就可以对刚刚的执行语句进行优化了,10046扩展追踪,非常适合于对那些把很多业务逻辑写入到存储过程中的软件调优。
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,