oracle 索引監控

數據庫使用久了會發現表示有很多索引,嚴重可能影響dml操作,因此可以使用索引監控發現那些索引不使用,進行刪除:

1.監控索引:
alter index index_name_xxxx MONITORING USAGE;

取消索引監控:

alter index index_name_xxxx NOMONITORING USAGE;


可以根據表名字批量生產監控索引的語句:
select 'alter index ' || index_name || ' MONITORING USAGE;'  from user_indexes where table_name = 'table_name_xxxx';
或者直接查詢獲取索引名字:
  select index_name from user_indexes ;

2.查看索引監控情況:
SELECT * FROM V$OBJECT_USAGE;

INDEX_NAME                 TABLE_NAME         MONITORING    USED    START_MONITORING       END_MONITORING
IDX_STATUS                 T_APP_USER_N      YES          NO       10/01/2018 10:24:43    

正常可以監控一個星期或者更久,自己根據業務或者平時的sql決定:
可以先設置索引invisible:
alter index IDX_STATUS invisible;

如果需要使用,可以打開visible
alter index IDX_STATUS visible;

3.觀察一段時間沒有問題可以刪除,建議刪除之前可以備份下創建索引的語句:
drop index IDX_STATUS;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章