这篇文章主要介绍“怎么使用oracle索引监控”,在日常操作中,相信很多人在怎么使用oracle索引监控问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用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;
4.索引rebuild,指定pctfree:
alter index IDX_STATUS rebuild online parallel 4 pctfree 20;
alter index IDX_STATUS parallel 1;
到此,关于“怎么使用oracle索引监控”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!