ITPub博客

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

监控索引使用

原创 Linux操作系统 作者:cc59 时间:2007-03-29 00:00:00 0 删除 编辑
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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-21

  • 博文量
    132
  • 访问量
    286500