从oracle 9i开始 可以监控oracle索引的使用情况,具体方法如下:
alter index . monitoring usage;
对某个索引开启监控后,就可以观察该索引是否被使用:
select index_name,monitoring ,used,start_monitoring ,end_monitoring
from v$object_usage;
其中v$object_usage限制显示当前用户下被监控的索引的情况,其它用户登录数据库无法看到。
如果要查看所有用户下被监控的索引的使用情况,使用如下的脚本
select u.name owner,io.name index_name,t.name table_name,
decode(bitand(i.flags,65536),0,'NO','YES')monitoring,
decode(bitand(ou.flags,1),0,'NO','YES')used,
ou.start_monitoring end_monitoring,
ou.end_monitoring end_monitoring
from sys.user$ u,sys.obj$ io,sys.obj$ t,sys.ind$ i,sys.object_usage ou where i.obj#=ou.obj#
and io.obj#=ou.obj#
and t.obj#=i.bo#
and u.user#=io.owner#
如果要取消对索引使用情况的监控,可使用下列的sql
alter index. nomonitoring usage;
阅读(1945) | 评论(0) | 转发(0) |