oracle案例:分析10053跟踪文件
2008-12-31 13:07:56 来源:WEB开发网不幸的是,没办法弄清楚系统的总体统计信息的收集,是采用全局样本还是单个的分区表的方式。如果有疑问,全局样本最好是查看DBA_TABLES.GLOBAL_STATS,如果为YES,则表示全局统计信息已被收集。
无直方图
为特定的列查找"No Histogram". 例子 (下述数据不是当前实例的追踪文件):
SINGLE TABLE ACCESS PATH
COLUMN: TIME_ID(DATE) Col#: 3 Table: SALES Alias: SALES
Size: 8 NDV: 1187 Nulls: 0 Density: 8.4246e-04 Min: 2450815 Max: 2452275
No Histogram: #BKT: 1
(1 uncompressed buckets and 2 endpoint values)
5. 分析小结
分析10053的过程,一般是从跟踪文件的底部往上看,再到感兴趣的区域。感兴趣的区域就是那些属于看起来有问题的执行计划的区域。
在这里列举进行10053跟踪文件分析的步骤:
1) 从文件末尾开始
确认你感兴趣的sql语句存在于跟踪文件中。如果跟踪文件中有EXPLAIN PLAN,编辑一下跟踪文件尽量便于阅读。
2)查看所选执行计划的最终成本。
3)查看产生最终成本的连接顺序
4)查看感兴趣的引起成本的连接顺序部分
5)查看连接顺序产生成本的连接类型
6)检查在步骤5中找到的连接类型的成本
a)确认用到何种访问路径
b)检查其他被拒绝的访问路径(仅适用于嵌套循环连接,在对内部行集的访问路径中,有几个访问路径产生成本)
详细分析
1.从结尾开始,从执行计划开始
在10053中获得准确的执行计划输出,很重要。有些信息在10053中会丢失,我们需要使用执行计划来得出成本计算是如何进行的结论。有时候我们会使用执行计划来调查10053或者检查我们的分析。
更多精彩
赞助商链接