监控所有索引

时间:2017-07-11 12:53:19

标签: oracle indexing oracle11g monitoring

我使用的是Oracle 11g。

很多时候我需要办理登机手续

  

统计$

表和快照表,如果索引已使用或没有。

我的问题是 - 是否有任何缺点或问题需要使用

  

监控用途

我的所有索引?把它们都放在里面。

也许构建一个在每个新索引上执行它的过程?

非常感谢。

1 个答案:

答案 0 :(得分:2)

指数监控在12.2之前存在严重问题:

1)布尔标志通常不足以合理确定是否保留索引。该索引是否曾使用过1次,因为开发人员使用提示强制索引或索引被调用了数百次?

2)检查发生在解析阶段,而不是执行阶段。 (请参阅前一点,为什么这是一个问题)。

3)会对性能产生影响。虽然这种性能影响很小,特别是如果您只为单个索引打开它,如果您尝试在系统范围内为所有索引打开它,那么这种影响会更大。

索引监控旨在为单个索引(或一小组索引)启用,等待一段合理的时间,然后将其关闭并检查统计信息。它并不意味着一直都在。

在12.2中,索引监控已经彻底检修,因此默认情况下它对所有索引都开启(我很确定你甚至无法将其关闭)。 Oracle在很大程度上解决了以前Oracle版本中索引监控的大部分问题:性能影响是无关紧要的,更有意义的统计数据(实际使用的次数),统计数据在执行阶段更新,而非解析阶段。 / p> Tim Hall对索引监控here做了很好的准备。 Connor McDonald有一个优秀的YouTube视频,关于为什么Index Monitoring在12.2之前出现问题,以及Oracle为解决这些问题所做的工作here(从19:15 - 27:05开始观看)。