视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
OracleEvent10046
2020-11-09 11:36:56 责编:小采
文档


下面是一个10046的例子,可以用来分析具体的一些sql执行计划,做个记录!设置10046事件来进行SQL跟踪,可以设置不同的跟踪级别Le

下面是一个10046的例子,可以用来分析具体的一些sql执行计划,做个记录!

设置10046事件来进行SQL跟踪,可以设置不同的跟踪级别

Level 0 停用SQL跟踪,相当于SQL_TRACE=FALSE

Level 1 标准SQL跟踪,相当于SQL_TRACE=TRUE

Level 4 在level 1的基础上增加绑定变量的信息

Level 8 在level 1的基础上增加等待事件的信息

Level 12 在level 1的基础上增加绑定变量和等待事件的信息

启用跟踪事件10046

10046事件由于跟踪的事件不同,生成的文档的目录也不相同,跟踪用户会话(trace文件位于USER_DUMP_DEST ),跟踪background进程(trace文件位于BACKGROUND_DUMP_DEST )。

1.在全局设置

修改初始化参数

EVENT = "10046 trace name context forever, level 8"

2.在当前session设置

alter session set events '10046 trace name context forever, level 8';

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

测试实例

SQL> set serverout on;
SQL> alter session set events '10046 trace name context forever, level 8';

Session altered

--为了查看生产文件省事,设置一个添加名称

SQL> alter session set tracefile_identifier='yuzh';

Session altered

SQL>执行语句

执行结果

--查看结果所在目录

SQL> show parameter user_dump_dest;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string /u01/app/Oracle/admin/CNDBS1T9/udump

--如果不设置别名,通过如下语句得到目标文件
SQL> select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||p.spid|| '.trc' trace_file_name
2 from (select p.spid
3 from v$mystat m, v$session s, v$process p
4 where m.statistic# = 1
5 and s.sid = m.sid
6 and p.addr = s.paddr) p,
7 (select t.instance
8 from v$thread t, v$parameter v
9 where v.name = 'thread'
10 and (v.value = 0 or t.thread# = to_number(v.value))) i,
11 (select value from v$parameter where name = 'user_dump_dest') d;

TRACE_FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/admin/CNDBS1T9/udump/cndbs1t9_ora_177.trc

--如果设置了别名,其实上述语句得出的文件也还是可用的,不过还是使用别名文件最好,文件名称如下

cndbs1t9_ora_177_yuzh.trc

--直接解读可能比较困难,我们使用tkprof来解析一下

oracle@shdb06t $ tkprof cndbs1t9_ora_177_yuzh.trc 123.txt

TKPROF: Release 10.2.0.4.0 - Production on Tue Aug 24 15:07:17 2010

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


oracle@shdb06t $ cat 123.txt

--一般需调优的评估量就是disk query current 这三个指标

--关闭10046

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

下载本文
显示全文
专题