ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE 监控索引的使用

ORACLE 监控索引的使用

原创 Linux操作系统 作者:wei-xh 时间:2010-05-08 15:01:58 0 删除 编辑

oracle索引是加快查询速度,减少i/o操作的,但是如果索引无用的话
那他就是浪费资源的,尤其是在做DML操作时,这是 就需要我们查看
那些索引是无用的

相关视图:
user_indexes
user_ind_columns
v$object_usage

1. 查看表aa有哪些索引


SQL> select table_name,index_name from user_indexes
2 where table_name='AA';

TABLE_NAME                     INDEX_NAME
------------------------------ ----------------------------
AA                             IDX_FUNC
AA                             IDX_BITM

已用时间: 00: 00: 00.09
SQL>

2. 监控制定索引

SQL> alter index idx_func monitoring usage;

索引已更改。

已用时间: 00: 00: 00.39


SQL>select * from aa where rownum<100;


3. 查看索引是否被用


SQL> select * from v$object_usage;

未选定行


SQL>

4.查完索引是否被用后,记得要关闭索引监控


SQL> alter index idx_func nomonitoring usage;

5.监控数据库所有的索引

等数据库运的足够多的sql语句时,查询v$object_usage


打开所有索引监控脚本

spool run_monitoring.sql

select 'alter index ' ||owner||'.'|| index_name|| ' monitoring usage'
    from dba_indexes;
    where owner not in ('SYS','SYSTEM')
spool off


然后运行脚本 run_monitoring.sql

@run_monitoring.sql

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22034023/viewspace-662247/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2425352