v$object_usage可以用来监控系统中索引的使用情况
select * from v$object_usage;
只是当前用户下有效,只能看到当前用户下的监视索引。
开关监控:
alter index index_name monitoring usage;
alter index index_name nomonitoringusage;
v$object_usage只包括当前用户的索引使用记录,如果需要查出所有用户的索引使用记录,使用下面的sql,这个sql来自DBA日记:
select z.name||'.'||io.name, t.name,
decode(bitand(i.flags, 65536), 0, 'NO', 'YES'),
decode(bitand(ou.flags, 1), 0, 'NO', 'YES'),
ou.start_monitoring,
ou.end_monitoring
from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou ,sys.user$ z
Where i.obj# = ou.obj#
and io.obj# = ou.obj# And io.owner#=z.user#
and t.obj# = i.bo#
Order By 4 Desc,2 Desc;
原系统查询语句里面有io.owner# = userenv('SCHEMAID') 条件,用非owner 用户查询不出结果.
需要注意的是,如果使用了alter index rebuild,则monitoring停止。而且,原来未使用的索引,也标记为使用
分享到:
相关推荐
Oracle 9i引入了一个新特性——“识别未使用的索引”,通过`ALTER INDEX MONITORING USAGE`来监控索引是否被使用。这个功能可以帮助数据库管理员有效地识别和管理那些不再提供性能提升,反而可能增加存储和维护成本...
监控的信息会被记录在`v$object_usage`视图中,该视图包含了关于索引使用的重要统计数据。创建或替换`v$object_usage`视图的SQL语句如下: ```sql CREATE OR REPLACE VIEW SYS.V$OBJECT_USAGE ( INDEX_NAME, TABLE...
只有被至少使用过一次的索引才会在`v$object_usage`视图中显示,并且每个用户只能查看他们自己的模式中的索引使用情况。要获取所有模式的索引使用情况,需要以SYS用户登录并创建一个自定义视图,例如`v$all_object_...
Oracle 9i引入了一个新特性,允许通过ALTER INDEX命令来监控索引的使用情况。这使得数据库管理员可以有效地找出那些未被查询利用的索引,并考虑删除它们,以优化数据库性能。 以下是如何使用Oracle 9i的步骤来监控...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能监控对于确保系统稳定和高效运行至关重要。以下是一些常用的Oracle数据库性能监控语句及其详细说明: 一、查看临时表空间使用情况: 通过`DBA_TEMP_...
然而,Oracle 9i引入了一个工具,允许通过ALTER INDEX命令来监控索引的使用情况。 以下是一个简单的SQL脚本,可以开启所有非系统索引的监控: ```sql spool run_monitor.sql select 'alter index '||owner||'.'||...
--监控索引是否使用 alter index &index_name monitoring usage; alter index &index_name nomonitoring usage; select * from v$object_usage where index_name = &index_name; --求数据文件的I/O分布 ...
` 用于开始监控索引的使用情况,而 `ALTER INDEX &index_name NOMONITORING USAGE;` 取消监控。然后,通过查询 `V$OBJECT_USAGE` 视图,如 `SELECT * FROM V$OBJECT_USAGE WHERE INDEX_NAME = &index_name;`,可以...
这些语句用于开启或关闭对索引使用情况的监控,并通过`v$object_usage`视图查看索引的使用统计。 2. **数据文件I/O分布**: ```sql select df.name, phyrds, phywrts, phyblkrd, phyblkwrt, singleblkrds, ...
1. 监控索引使用:`ALTER INDEX &index_name MONITORING USAGE` 和 `ALTER INDEX &index_name NOMONITORING USAGE` 用于开启或关闭对特定索引使用情况的监控。`SELECT * FROM v$object_usage WHERE index_name = &...
#### 3.1 监控索引使用情况 - Oracle提供了系统视图`V$OBJECT_USAGE`来监控对象的使用情况,包括索引。 - 通过执行`BEGIN DBMS_STATS.SET_TABLE_PREFS('SCHEMA_NAME', 'TABLE_NAME', 'MONITORING', 'TRUE'); END;`来...
- **V$SORT_USAGE**:显示临时段的大小和使用情况,有助于识别那些进程正在进行磁盘排序。 - **V$SQLAREA**:列出共享池中 SQL 的使用统计信息。 - **V$SQLTEXT**:在 SGA 中显示属于共享 SQL 游标的 SQL 语句文本。...
这是正确的,V$OBJECT_USAGE视图可以显示对象的使用情况,包括索引的访问频率。 - **D.** 启用索引监视并查看DBA_INDEXTYPE_COMMENTS视图。这与索引使用情况无关。 正确答案是**C**,启用索引监视后查询V$OBJECT_...
- **功能**: 开启或关闭指定索引的使用情况监控,并查询索引的使用统计信息。 - **应用场景**: 索引的性能和使用情况对数据库查询速度至关重要,此命令可以帮助管理员调整索引策略。 ### 5. 文件I/O监控 **SQL语句...
#### 监控索引是否被使用 - **命令**: - `ALTER INDEX &index_name MONITORING USAGE;` - `ALTER INDEX &index_name NOMONITORING USAGE;` - `SELECT * FROM V$OBJECT_USAGE WHERE INDEX_NAME = '&index_name';`...
3. **监控结果查询**:监控结果可通过`v$object_usage`视图查询,展示每个索引的监控状态和使用情况。 通过索引监控,数据库管理员可以识别出未被使用的索引,这些索引可能是冗余的或者已经不再服务于其最初的目的...