目的:监控oracle索引的有效性,看索引有没有被使用。然后根据监控结果删除或者调整索引。
步骤:
1.监控指定索引
命令: alter index 索引名 monitoring usage; 如:alter index User_IDX1 monitoring usage;
2.查看索引监控是否生效
命令:select * from V$OBJECT_USAGE t where t.monitoring = 'YES';
3.执行索引相关SQL
4.查看索引是否被使用
命令:select * from V$OBJECT_USAGE t where t.monitoring = 'YES';
5.取消索引监控
命令: alter index 索引名 nomonitoring usage; 如:alter index User_IDX1 nomonitoring usage;
相关工具
生成指定表所有索引监控命令的SQL:
select 'alter index '||index_name||' monitoring usage;' from user_indexes where table_name=upper('表名');
如:select 'alter index '||index_name||' monitoring usage;' from user_indexes where table_name=upper('User');