WEB开发网
开发学院数据库Oracle oracle案例:分析10053跟踪文件 阅读

oracle案例:分析10053跟踪文件

 2008-12-31 13:07:56 来源:WEB开发网   
核心提示: 3. 案例历史执行一个未使用提示的sql语句(一个包含3种连接的select语句)需要9个小时,而如果使用"NO_INDEX"提示,oracle案例:分析10053跟踪文件(2),将会在4分钟内执行完,表使用的是分区表,这些参数和因素的值会很好的告诉我们,为什么从诸多执

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产生的跟踪文件可能会发生很大变化。

一般而言,新版本的跟踪文件比较容易阅读,在"预分析工作"部分需要做的工作较少。

4. 预分析工作

在开始分析跟踪文件前,我们首先进行一些观测,了解一些CBO计算成本时的有关因素。有时,这些参数和因素的值会很好的告诉我们,为什么从诸多执行计划中选择了特定的执行计划。

要收集10053事件的跟踪文件,可以在sqlplus中使用下面的语法命令:

  SQL> connect / as sysdba
  SQL> oradebug setmypid
  SQL> oradebug unlimit
  SQL> oradebug event 10053 trace name context forever, level 1
  SQL> ...enter your query here...
  SQL> oradebug event 10053 trace name context off
  SQL> oradebug tracefile_name
  /chia/web/admin/PTAV3/udump/ptav3_ora_15365.trc

上一页  1 2 3 4 5 6 7  下一页

Tags:oracle 案例 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接