Oracle案例:解析10053跟踪文件-入门底子[Oracle防范]
本文“Oracle案例:解析10053跟踪文件-入门底子[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
首先介绍与CBO计算本钱有关的一些参数阐明,介绍了CBO在查询中若何计算本钱.接着给出10053跟踪文件解析的普通办法,最后结合一个具体跟踪文件,对若何解析10053跟踪文件举行具体阐述.
1. 关于Oracle案例学习
Oracle案例学习主如果作为一种工具,主要供应对复杂事件、进程、历程以及一系列相关事件的信息与知识.每个案例都是在处理实际问题的经验底子上编写的.
每个学习案例包含一定的技术级别.技术级别指文档的阅读者在学习此案例之前,应当具有什么样的技术级别.
有以下几个级别:
专家级:在相关主题范畴有丰富经验
中级:在相关主题范畴有一定的经验
入门级:在相关主题范畴没什么经验
本案例倡议的级别:专家级
2. 案例学习择要
本案例利用跟踪文件,阐述解析10053跟踪文件的办法体系.注意,10053事件跟踪文件主要用于帮助oracle开辟者以及技术支持来诊断优化器相关的问题,它随着新版本大概补钉集而有所改变.本文的主要目的不是对10053跟踪文件供应全面的参考,而是介绍oracle工程师怎样利用这种跟踪文件.
同时,我们将窥测CBO在查询中若何计算本钱,以及CBO是若何终究得到履行筹划的.
需求指出的是,CBO在预算本钱的时刻,会随着版本的改变,其算法会有差别.
这里我们将会解析一个糟糕的履行筹划,并判断出CBO是若何计算本钱并招致不好的筹划的.我们会在差别地方对比10053跟踪,但主要精神还是放在这个糟糕的筹划是若何计算本钱的.杰出的履行筹划普通而言比不好的履行筹划(此中没有考虑利用索引)更简短.
查抄10053的缘由普通是为了搞清楚CBO为什么这样举行挑选.10053可以帮我们答复诸如"索引为什么没被利用"之类的问题."CBO为什么要挑选全表扫描?" .普通来说,10053不是处理性能问题时最早利用的办法---在这方面,查看履行筹划并利用tkprof工具能更好的获得信息.10053用于深化CBO举行挑选的缘由解析.
3. 案例历史
履行一个未利用提醒的sql语句(一个包含3种衔接的select语句)需求9个小时,而假如利用"NO_INDEX"提醒,将会在4分钟内履行完.表利用的是分区表,并且用到了并行查询.别的,用户将"OPTIMIZER_INDEX_CACHING"设置为70(不知用户为什么这么做,我们猜想大概是因为当时他们并没有得到想要的履行筹划才这么做).此参数设置效果可以使单块索引I/O下降70%.
利用10053跟踪,获得未加提醒("不好的")的履行筹划与加提醒("好的")的履行筹划.两个履行筹划的主要差别点是,未加提醒的履行筹划利用nested嵌套循环衔接方法,内层衔接利用的是INDEX FULL SCAN(不是index fast full scan)操作来作为内层行集.加提醒的履行筹划利用哈希衔接,INDEX FAST FULL SCAN (IFF)操作的后果集作为内层行集.
注意,就本案例而言,新版本中利用10053产生的跟踪文件大概会发生很大改变.
普通而言,新版本的跟踪文件对比简单阅读,在"预解析工作"部份需求做的工作较少.
以上是“Oracle案例:解析10053跟踪文件-入门底子[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |