獲得監控全部索引的語句:code
select 'alter index ' || index_name || ' monitoring usage;' from user_indexes;
注意:視具體業務狀況,選擇一週後,一月後,兩月後(總之要保證應用的全部SQL都至少跑一遍)索引
select * from v$object_usage where used='NO';
select 'drop index '||o.index_name||';' from v$object_usage o join user_indexes u on o.index_name = u.index_name where o.used='NO' and u.uniqueness='NONUNIQUE';
特別注意:直接drop index操做,從未被使用的索引中,主鍵不會被刪除(會給出錯誤ORA-02429),但惟一性索引會被刪掉。
因此我這裏join了user_indexes,從而判斷只刪除NONUNIQUE的索引。
it
select 'alter index ' || index_name || ' nomonitoring usage;' from user_indexes;