You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查开启索引监控后v$object_usage视图无对应记录的问题

Oracle索引监控开启后v$object_usage返回空排查方案
  • 确认查询账号与视图范围
    v$object_usage仅展示当前登录用户名下的索引监控数据,若开启监控的索引归属REPORT schema,使用其他账号(如sys、system等管理员账号)直接查询v$object_usage会返回空结果。
    解决方案:
    1. 切换到REPORT账号后重新执行查询语句
    2. 持DBA权限的账号可查询权限更高的dba_object_usage视图,执行语句如下:
    SELECT index_name,table_name,monitoring,used,start_monitoring,end_monitoring 
    FROM dba_object_usage 
    WHERE owner = 'REPORT' AND index_name = 'DY_SUM_DLY_SCH_TRN_DIV';
    
  • 确认索引有效性与监控开启状态
    执行以下语句确认目标索引存在且状态正常,避免拼写错误、索引已被删除/标记为不可用导致监控未实际生效:
    SELECT owner, index_name, table_name, status 
    FROM all_indexes 
    WHERE owner = 'REPORT' AND index_name = 'DY_SUM_DLY_SCH_TRN_DIV';
    
    若查询返回索引状态为VALID,可重新执行监控开启语句确认生效:
    alter index REPORT.DY_SUM_DLY_SCH_TRN_DIV monitoring usage;
    
  • 确认数据库环境适配性
    1. 索引监控功能仅在Oracle 10g及以上版本支持,更低版本数据库无v$object_usage视图,返回为空属于预期表现
    2. 12c及以上多租户架构下,需确认当前登录的是索引所属的PDB容器,在CDB根容器下查询PDB级的索引监控数据也会返回空
  • 确认无监控记录清空操作
    以下操作会清空已有的索引监控记录:
    • 执行alter index REPORT.DY_SUM_DLY_SCH_TRN_DIV nomonitoring usage关闭监控
    • 索引重建、删除后重建操作
    • 数据库实例重启
      若开启监控后执行过上述操作,需要重新开启监控后再查询。

内容的提问来源于stack exchange,提问作者radha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:18:02