暂无图片
Oracle 10053事件有几个级别,一般常用哪一个?
我来答
分享
Handsome BOY
2021-09-02
Oracle 10053事件有几个级别,一般常用哪一个?

Oracle 10053事件有几个级别,一般常用哪一个?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
三笠丶
暂无图片

关于 Oracle 10053事件

借助Oracle的10053事件event,我们可以监控到CBO对SQL进行成本计算和路径选择的过程和方法。

10053 事件有两个级别:

Level 2:

2级是1级的一个子集,它包含以下内容:

Column statistics
Single Access Paths
Join Costs
Table Joins Considered
Join Methods Considered (NL/MS/HA)

Level 1:

1级比2级更详细,它包含2级的所有内容,增加如下内容:

Parameters used by the optimizer
Index statistics

启用10053事件:

ALTER SESSION SET EVENTS='10053 trace name context forever, level 1'; ALTER SESSION SET EVENTS='10053 trace name context forever, level 2';

关闭10053事件:

ALTER SESSION SET EVENTS '10053 trace name context off';

说明:

  • 1、sqlplus中打开autotrace看到的执行计划实际上是用explain plan 命令得到的,explain plan 命令不会进行bind peeking。应该通过v$sql_plan查看SQL的真实的执行计划。

  • 2、10053只对CBO有效,而且如果一个sql语句已经解析过,就不会产生新的trace信息。

  • 3、10053事件产生的trace文件不能用tkprof格式化。

  • 4.通过10053事件分析一个SQL执行计划的产生过程,需要贴出trace中的相关信息和必要的文字说明。

对于常用哪一个的问题,具体看场景需求吧, 10053事件没有10046事件用的多,比如我们分析SQL,主要还是看SQL的执行计划和SQL_TRACE信息。 但是如果想了解CBO的内部,还得通过10053事件,从10053事件的trace文件中,我们可以深入的了解CBO的内部,了解CBO是如何工作的,根据什么依据得出最终的执行计划。

如果帮助到你,动动小手点个采纳~

暂无图片 评论
暂无图片 有用 0
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏