监控索引使用

d

首先要保证在系统比较空闲的时间做:

注意:以下所有操作都是以sys身份

1、如要监控tm_im_work_data表中的全部索引,首先通过以下sql查出该表所有的索引以及索引所对于的列。

select b.owner,b.index_name,b.index_type,a.column_name,b.UNIQUENESS
from DBA_ind_columns a,dba_indexes b
where a.index_name=b.index_name and a.table_owner=b.owner
and b.table_name=upper('&TABLENAME')

2、再使用以下sql生成脚本:

select 'alter index '||b.owner||'.'||b.index_name||' monitoring usage'
from DBA_ind_columns a,dba_indexes b
where a.index_name=b.index_name and a.table_owner=b.owner
and b.table_name= upper('&TABLENAME')

运行此SQL以后会生成类似如下的脚本:

alter index ibss.PK_IM_LBAS_QUE monitoring usage;

3、执行alter index ibss.PK_IM_LBAS_QUE monitoring usage;脚本,有几个执行几个。

4、监控:

当以上的alter脚本执行完以后,可以从object_usage表中查看监控结果。此表会生成类似于以下的结果:

SQL> select * from object_usage;

OBJ# FLAGS START_MONITORING END_MONITORING

---------- ---------- ------------------- -------------------

29899 0 03/19/2007 15:27:09

29967 0 03/29/2007 23:18:06

SQL>

其中obj#列对应的是object_id, 可通过与dba_objects中的object_id来查到该对象名,flag列为是否使用了索引,如值为1,那表示使用了索引,

如值为0,则表示未使用索引,START_MONITORING:表示启用监控的时间,END_MONITORING为结束监控时间。

5、结束监控,如不想再监控的话,可使用以下语句来结束对某个索引的监控,如:

alter index ibss.PK_IM_LBAS_QUE nomonitoring usage;

再次查看object_usage时,会有如下结果:

SQL> select * from object_usage;

OBJ# FLAGS START_MONITORING END_MONITORING

---------- ---------- ------------------- -------------------

29899 0 03/19/2007 15:27:09

29967 0 03/29/2007 23:18:06 03/29/2007 23:27:08

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

转载于:http://blog.itpub.net/104152/viewspace-140001/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值