借助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中的相关信息和必要的文字说明。

测试:

1)创建测试表t1,t2

SQL> create table t1 as select * from all_objects;

Table created.

SQL> create table t2 as select * from all_objects where rownum<=100;

Table created.

SQL> select count(*) from t1;

COUNT(*)
----------
      5756

SQL> select count(*) from t2;

COUNT(*)
----------
       100

2)对t1,t2表进行分析,不包含直方图

SQL> exec dbms_stats.gather_table_stats ('scott','t1',cascade=>true,estimate_percent=>null,method_opt=>'for all columns size 1');

PL/SQL procedure successfully completed.

SQL> exec dbms_stats.gather_table_stats ('scott','t2',cascade=>true,estimate_percent=>null,method_opt=>'for all columns size 1');

PL/SQL procedure successfully completed.

3)生成10053 trace文件

SQL> conn / as sysdba
Connected.

SQL> alter session set events '10053 trace name context forever,level 1';

Session altered.

SQL> select count(*) from scott.t1,scott.t2 where t1.object_id=t2.object_id;

COUNT(*)
----------
       100

SQL> alter session set events '10053 trace name context off';

Session altered.

SQL> select value from v$diag_info where name like '%Default%';

VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/drz/drz/trace/drz_ora_10614.trc

4)查看trace文件

[oracle@drz ~]$ more /u01/app/oracle/diag/rdbms/drz/drz/trace/drz_ora_10614.trc

【Oracle】详解10053事件相关推荐

  1. html js不触发_图文详解鼠标事件CSS:hover和JS:mouseover的区别

    在工作中为了使页面更具有吸引力,前端开发人员经常会在页面中加上鼠标移入和移出的效果.鼠标移入移出的设置,一般有两种方法,一种是单纯用CSS中的hover伪类,另一种可以用JS 中的DOM事件,即onm ...

  2. oracle数据库按日期查询,关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解...

    关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解 Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通过一个实例来介绍这一过程.我们假设 ...

  3. oracle事件的特点,ORACLE 深入解析10053事件(1)

    本帖最后由 leonarding 于 2013-2-24 15:57 编辑 新年新说: 新年伊始,2012年过去了,我们又踏上了2013年的,回顾2012我们付出了很多,辛勤和汗水换来了知识和友谊,当 ...

  4. oracle resp_cpu含义,【原创】ORACLE 深入解析10053事件

    [原创]ORACLE 深入解析10053事件 发布时间:2020-08-09 16:47:25 来源:ITPUB博客 阅读:95 作者:kunlunzhiying 新年新说: 新年伊始,2012年过去 ...

  5. android 拖动 点击事件,Android事件详解——拖放事件DragEvent

    1.Android拖放框架的作用? 利用Android的拖放框架,可以让用户用拖放手势把一个View中的数据移到当前layout内的另一个View中去. 2.拖放框架的内容? 1)拖放事件类 2)拖放 ...

  6. JS详解 | 对象 事件 节点 | 系统性学习 | 无知的我费曼笔记

    无知的我正在复盘js- 文章目录 JavaScript 1 常用命令 输出语句 转换为字符串 得到变量类型 1 获取元素对象 1.1 H5新增获取元素对象 1.2 直接获取特殊元素对象 2 事件三要素 ...

  7. oracle exist 10053,Oracle中利用10053事件来分析Oracle是如何做出最终的执行计划

    我们都知道Oracle从10g开始SQL语句选择什么样的执行方式,是全表扫描,还是走索引的依据是执行代价.那么我们怎么可以去看执行代价的信息呢?通过10053事件可以Oracle依据的执行代价和如何做 ...

  8. 刘铁锰老师C#语言入门详解(委托事件等部分有详细代码和注释)

    目录 1.初识类 1.1 类与对象的关系 1.2 类的三大成员 1.3 静态成员与实例成员 1.4 类修饰符 2.构成C#语言的基本元素 2.1 六个基本元素 2.2 算法简介 3. 详解类型.变量与 ...

  9. Redis详解之-事件订阅和持久化存储方式(RDB和AOF)(二)

    转载:https://blog.csdn.net/u010963948/article/details/78881057 对以前的内容进行一下总结和复习. 了解Redis的基本参数配置和使用. 了解事 ...

最新文章

  1. hibernate mysql缓存机制_Hibernate的缓存机制
  2. python四大数据类型_Python 四大数据类型总结
  3. c++17(33)-数值上下限、无穷、非数、中文字符串
  4. 粒子群算法求解旅行商问题
  5. Linux运行级详解
  6. hping3工具DOS攻击实验
  7. Codeforces Round #719 (A-C)
  8. 动态分区分配的“首次适应算法_动态图划分复制算法:Leopard
  9. SpringCloud 微服务 (十五) 服务容错 Hystrix
  10. 3-32,3-33Pytorch与autograd中的几个重要概念
  11. 利用函数重载编写函数max_c++笔记(函数重载)
  12. VS 中PageLayout 属性设置
  13. android 混淆成功,Android 混淆APK并检查是否混淆成功
  14. 内存超频时序怎么调_内存时序怎么调
  15. 小沈阳最经典的99句台词 保证你从头笑到尾
  16. 唐诗欣赏静夜思用html设计,静夜思唐诗赏析
  17. 如何取消默认浏览器中hao123主页
  18. matlab语句xlim,matlab中设置坐标轴时xlim和axis有什么区别?
  19. Shiro视频-佟刚-专题视频课程
  20. 2019企业发布会最新震撼大气开场舞蹈 《全息未来已来》全息投影舞蹈 创意3D科技互动视频秀 企业舞蹈编排

热门文章

  1. java反射接口_Java反射详解
  2. 关于Oracle10g归档参数的研究
  3. iptables第二部分
  4. 冰城环保进入智慧时代
  5. 正确配置Linux系统ulimit/nproc值的方法
  6. CAD2012安装错误
  7. SQL与Excel数据交互
  8. 【JS】变量、作用域和内存问题
  9. UPESB天气查询用例(三)
  10. .NET框架图解之五:System.Reflection