v$object_usage可以用来监控系统中索引的使用情况
SQL> conn yang/yang
已连接。
SQL> create table test(x int,y int);
表已创建。
SQL> alter table test add constraint index_test_pk primary key(x);
表已更改。
SQL> select * from v$object_usage;
未选定行
监控索引的使用:
SQL> alter index index_test_pk monitoring usage;
索引已更改。
v$object_usage有了记录,但USE为NO:
SQL> select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE
------------------------------ ------------------------------ --- ---
START_MONITORING END_MONITORING
------------------- -------------------
INDEX_TEST_PK TEST YES NO
05/28/2010 11:20:10
SQL> select * from test where x=1;
未选定行
USE修改为YES:
SQL> select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE
------------------------------ ------------------------------ --- ---
START_MONITORING END_MONITORING
------------------- -------------------
INDEX_TEST_PK TEST YES YES
05/28/2010 11:20:10
以sys用户登录,v$object_usage却没有记录
SQL> conn /as sysdba
已连接
SQL> select * from v$object_usage;
未选定行
因为v$object_usage只包括当前用户的索引使用记录,如果需要查出所有用户的索引使用记录,使用下面的sql,这个sql来自DBA日记:
SQL> select u.name owner, io.name index_name, t.name table_name,
2 decode(bitand(i.flags, 65536), 0, 'NO', 'YES') monitoring,
3 decode(bitand(ou.flags, 1), 0, 'NO', 'YES') used,
4 ou.start_monitoring start_monitoring,
5 ou.end_monitoring end_monitoring
6 from sys.user$ u, sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou
7 where i.obj# = ou.obj#
8 and io.obj# = ou.obj#
9 and t.obj# = i.bo#
10 and u.user# = io.owner#
11 ;
OWNER INDEX_NAME
------------------------------ ------------------------------
TABLE_NAME MON USE START_MONITORING END_MONITORING
------------------------------ --- --- ------------------- -------------------
YANG INDEX_TEST_PK
TEST YES YES 05/28/2010 11:20:10
SQL> conn yang/yang
已连接。
取消对索引的监控
SQL> alter index index_test_pk nomonitoring usage;
索引已更改。
SQL> select * from v$object_usage;
INDEX_NAME TABLE_NAME MON USE
------------------------------ ------------------------------ --- ---
START_MONITORING END_MONITORING
------------------- -------------------
INDEX_TEST_PK TEST NO YES
05/28/2010 11:20:10 05/28/2010 11:36:32
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22111412/viewspace-663903/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22111412/viewspace-663903/
本文介绍如何使用v$object_usage视图来监控Oracle数据库中索引的使用情况,包括开启和关闭索引监控的方法。

458

被折叠的 条评论
为什么被折叠?



