当某个索引处于monitoring usage的时候,如果使用dbms_stats去分析表并且同时分析索引,会将该索引的v$object_usage.USED设置为TRUE,导致监控了N天的可疑索引前功近弃。这并不是我们所希望的.
如果使用analyze,索引的状态不会被设置为USE = TRUE
在10gR2中仍然有种情况
alter index ind_t monitoring usage;
select * from v$object_usage;
analyze table test compute statistics;
select * from v$object_usage
exec dbms_stats.gather_table_stats(user,'test',cascade=>true);
select * from v$object_usage;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27131216/viewspace-735079/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27131216/viewspace-735079/
本文讨论了在Oracle数据库中,使用dbms_stats分析表和索引可能导致的v$object_usage.USED设置为TRUE的问题。分析了在10gR2版本中,通过alterindex和analyze操作对索引状态的影响,并指出使用analyze可以避免此误操作。

4177

被折叠的 条评论
为什么被折叠?



