公 告
登 陆
日志日历
日 志
评 论
链 接
统 计
 
http://blueicesoul.mypm.net
 
 
标题:   Oracle监控索引使用情况

在日常开发中我们经常通过增加索引来提升Oracle访问数据的效率,但业务模式发生更改导致索引没有被使用,或者增加了索引导致业务处理变慢时有发生。针对这些情况,我们可以使用Oracle索引监控来监控索引的使用情况,剔除不再使用或者使用频次较少的索引。操作方法如下:
Oracle索引监控

1.以Owner用户登录
对要监控的索引执行如下命令
alter index CHARGE_IDX1 monitoring usage;
alter index CHARGE_IDX2 monitoring usage;
alter index CHARGE_IDX3 monitoring usage;

2.查询 select * from v$object_usage t where t.monitoring='YES' INDEX_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING
----------------- ----------- ---------- ---- ------------------- -------------------
CHARGE_IDX1 TCHARGE YES NO 11/27/2007 15:41:28
CHARGE_IDX2 TCHARGE YES NO 11/27/2007 15:41:29
CHARGE_IDX3 TCHARGE YES NO 11/27/2007 15:41:29
可以看到 CHARGE_IDX1,CHARGE_IDX2,CHARGE_IDX3 已经在开始监控的了。

3.过一段时间(比如一天),再去看select * from v$object_usage t where t.monitoring='YES',如果索引使用的话USED就为YES了
INDEX_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING
----------------- ----------- ---------- ---- ------------------- -------------------
CHARGE_IDX1 TCHARGE YES YES 11/27/2007 15:41:28
CHARGE_IDX2 TCHARGE YES NO 11/27/2007 15:41:29
CHARGE_IDX3 TCHARGE YES NO 11/27/2007 15:41:29
对USED为NO的索引根据情况可以根据需求进行删除(drop)

4. 完毕后记得关闭索引监控
alter index CHARGE_IDX1 nomonitoring usage;
alter index CHARGE_IDX2 nomonitoring usage;
alter index CHARGE_IDX3 nomonitoring usage;

blueicesoul 发表于 2010/3/29 9:08:00 阅读全文 | 回复(0) | 引用通告 | 编辑 | 收藏该日志

发表评论:

    昵称:
    密码:
    主页:
    标题: