停起对索引的监控的过程相当于索引监控重置的过程。
8.一次性生成当前用户下所有索引的监控语句
可以使用SQL生成SQL脚本的方法来完成。
以对SECOOLER用户下所有索引生成监控语句为例
?
SQL> select 'alter index '||owner||'.'||index_name||' monitoring usage;' as "Monitor Indices Script" from dba_indexes where owner in ('SECOOLER');
Monitor Indices Script
---------------------------------------------------------------
alter index SECOOLER.I_T monitoring usage;
…… 省略 ……
?
如果您对PL/SQL熟悉的话,可以更方便的完成批量将索引置为被监控状态。
?
SQL> conn secooler/secooler
SQL> begin
? 2? for rec in (select index_name from user_indexes)
? 3? ? LOOP
? 4? ? ? ? dbms_output.put_line(rec.index_name);
? 5? ? ? ? EXECUTE IMMEDIATE 'alter index '||rec.index_name||' monitoring usage';
? 6? ? end loop;
? 7? end;
? 8? /
I_T
…… 省略其他索引名字 ……
PL/SQL procedure successfully completed.
9.小结
一般生产数据库很少使用这种方法(前提是做好规划),多见于测试数据库。测试数据库中出于对各种索引组合的测试需求,可能创建众多的索引,使用这种方法可以比较便捷的确认那些不被用到的索引。