原文出自 http://xxscfh.itpub.net/post/304/49451

这两个视图对于dba诊断数据库问题,具有十分重要的意义。其中的某些字段需要我们了解和掌握……

1、version_count

这个字段表示有多少个child cursors在一个parent下面。由于配置参数、执行环境(用户)等不同,即使一个相同的sql语句,在执行的过程中,会出现各种各样的执行计划。 每个执行计划的执行,也就产生了一个child cursor。version_count就表示这个意义。如果这个值过太,那么我们很有可能就没有实现绑定变量。 如果确信实现了绑定变量,那么就是oracle的bug了。
搜索Metalink,Bug:1210242,该Bug描述为:
On certain SQL statements cursors are not shared when TIMED_STATISTICS is enabled.

我们可以通过以下方法来确定是否真的具有那么多的version_count:

  • SQL> ALTER SESSION SET EVENTS 'immediate trace name LIBRARY_CACHE level 4'; 来dump出内存来确信改sql是否具有那么多的version
  • 通过查询v$sql (可以通过hash_value跟v$sqlarea联合)来看child_number的个数


2、OPTIMIZER_COST

要经常查看这个参数,表示的是优化器为此付出的代价

相关文章:

  • 2021-12-05
  • 2021-06-24
  • 2021-06-29
  • 2021-08-21
  • 2021-08-16
  • 2021-06-04
  • 2021-06-29
  • 2021-04-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-17
  • 2022-12-23
  • 2021-09-15
  • 2022-02-16
  • 2022-01-07
相关资源
相似解决方案