题目         部分

在Oracle中,常用的10046及10053诊断事件的区别是什么?


     


         

答案部分          


最为常用的诊断事件是10046和10053事件。10046事件是Oracle提供的内部事件,是对SQL_TRACE的增强。Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数、执行次数、CPU使用时间等信息。这对DBA来分析、定位数据库性能问题是非常有用的。

10046事件可分成不同的级别(LEVEL),分别追踪记录不同程度的有用信息。对于这些不同的级别,应当注意的是向下兼容的,即高一级的TRACE信息包含低于此级的所有信息。

10046事件可以设置以下级别:

① level 0:禁用SQL_TRACE,等价于SQL_TRACE=FALSE

② level 1:启用标准的SQL_TRACE功能跟踪SQL语句,包括解析、执行、提取、提交、回滚、响应时间、服务时间、处理的行数,物理读和写的数目、执行计划以及其它一些额外信息,等价于SQL_TRACE=TRUE

③ level 4:Level 1 + 包括绑定变量(Bind Values)的详细信息

④ level 8:Level 1 + 包括等待事件

⑤ level 12:包括绑定变量与等待事件,包含Level 1 + Level 4 + Level 8

10053事件是最常用的Oracle优化器跟踪Trace。10053事件解析优化器为什么选择某个执行计划但并不记录这个执行计划到底运行地如何。10046事件并不解释优化器的工作,但它记录了在SQL解析阶段所遇到的等待事件和所消耗的CPU等资源,以及执行阶段的各项指标。需要注意的是,如果一个SQL语句已经被解析过,那么就不会生成10053的trace文件,但10046的trace文件可以重复生成。

简而言之,10046事件记录SQL如何运行,而10053记录优化器为什么为这个SQL选择某个执行计划。


本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗



---------------优质麦课------------

详细内容可以添加麦老师微信或QQ私聊。



About Me:小麦苗      

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● QQ:646634621  QQ群:618766405

● 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。


©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
  2. 【DB笔试面试689】在Oracle中,如何收集systemdump?如何收集hangana
  3. 【DB笔试面试695】在Oracle中,什么是Oracle RDA(Remote Diagnostic
  4. 【DB笔试面试710】在Oracle中,用哪个参数可以判断一个数据库是否
  5. jq的DOM操作与事件操作02的有感记录
  6. 【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量?
  7. 【等待事件】等待事件概述(1)--等待事件的源起和分类
  8. Rxjs给应用带来的优势
  9. 【DB笔试面试223】在Oracle中,如果丢失一个数据文件而且没有备份,

随机推荐

  1. Android发送SOAP数据给服务器调用webserv
  2. Android 开发入门-详解4种基本布局
  3. 《android开发应用实战详解》光盘源代码
  4. Ogre 1.9 RC1 发布了,有了官方的Android支
  5. android 一直在最前面的浮动窗口效果
  6. Android Camera使用小结
  7. app_gallery_best.xml 2
  8. Belkin introduces WeMo light switch, c
  9. 升级android sdk时A folder failed to be
  10. Android(安卓)gingerbread eMMC booting