V$INDEX_USAGE_INFO中找不到监控索引数据的尴尬经历

这篇具有很好参考价值的文章主要介绍了V$INDEX_USAGE_INFO中找不到监控索引数据的尴尬经历。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在一个Oracle 12.1实例中,想监控一个表的索引使用情况,在system用户下执行了下面脚本以及输出的监控索引脚本后,发现V$OBJECT_USAGE下一直没有对应的记录(在system用户下查询)

SELECT
   'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' MONITORING USAGE;'
FROM
   DBA_INDEXES
WHERE
        INDEX_TYPE != 'LOB' AND OWNER NOT IN  ('SYS''SYSMAN''SYSTEM''MDSYS''WMSYS''TSMSYS''DBSNMP''OUTLN')
    AND OWNER=UPPER('&OWNER')
    AND TABLE_NAME=UPPER('&TABLE_NAME')
;

许久没有使用这个功能了,还以为我遇到bug了,一通折腾下来,居然是时间太久了,自己也忘记了一些细节:V$OBJECT_USAGE只能查看/显示当前用户下被监控的索引使用统计信息。即使sys、system用户也不能查看其它用户的数据。这个跟视图V$OBJECT_USAGE的定义有关,如下所示,它在查询条件中过滤了记录集,只显示当前用户下的记录。

create or replace view V$OBJECT_USAGE
(INDEX_NAME,
TABLE_NAME,
MONITORING,
USED,
START_MONITORING,
END_MONITORING)
as
select 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
where io.owner# = userenv('SCHEMAID') 
and i.obj# = ou.obj#
and io.obj# = ou.obj#
and t.obj# = i.bo#
/

从Oracle 12.2开始,Oracle默认会监控索引的使用情况,而不用特意去设置监控索引使用情况,我们只需从DBA_INDEX_USAGE查看索引的使用情况,而自己的忘性也越来越大,真是廉颇老矣尚能饭否。悲催啊!文章来源地址https://www.toymoban.com/news/detail-438265.html

到了这里,关于V$INDEX_USAGE_INFO中找不到监控索引数据的尴尬经历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 17 中找不到 JavaFX 的解决方法

    最近在学习 Paul Deitel 和 Harvey Deitel 编写的 Java 编程入门教材《Java: How to Program - Early Objects 11th Edition》 本书豆瓣页面链接 其中第 1 章第 1.10 节给出一个简易画板示例程序,是一个 JavaFX GUI 程序 其目录结构如下 按书上给的命令 javac *.java 编译时出现如下错误,编译失败 以上错

    2024年02月09日
    浏览(55)
  • 解决方案:Python 中找不到模块 ‘yaml‘

    解决方案:Python 中找不到模块 ‘yaml’ 在Python编程中,如果你在导入模块时遇到了 ModuleNotFoundError: No module named \\\'yaml\\\' 的错误提示,这意味着你的Python环境中没有安装名为 ‘yaml’ 的模块。‘yaml’ 模块是用于解析和生成 YAML 格式数据的工具,它在处理配置文件、数据序列化等

    2024年02月03日
    浏览(43)
  • nginx无法启动,任务管理器中找不到进程

    问题描述:在nginx官网下载压缩包并解压后,启动nginx.exe  ,后台会发生系统中断,任务管理器中找不到nginx进程,且无端口占用. 解决方法:下载的nginx目录中没有logs文件夹,新建logs文件夹并配置好文件目录后,在error中发现错误: 2024/03/28 00:11:01 [emerg] 13648#4044: CreateDirectory() \\\"C:nginx/tem

    2024年04月28日
    浏览(50)
  • 关于注册表中找不到Command Processor的问题

    注册表路径 计算机HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor 反正我就是找不到 自己添加一个 把下面代码写到1.ps1 然后执行 然后加了一个autorun,在打开cmd的时候默认路径就是桌面

    2024年02月16日
    浏览(44)
  • 计算机管理服务中找不到mysql的服务

    第一步:在mysql的安装目录以管理员身份打开cmd窗口,若mysql安装在C盘,则默认为以下路径  第二步:运行下面代码段,若出现 Service successfully installed 则表示成功 此时在任务管理器 Mysql 任务已经出现   第三步:启动 mysql 服务 若出现以下情况则启动成功   若出现以下情况则

    2024年02月06日
    浏览(46)
  • IDEA中找不到maven插件Plugin‘ ‘ not found 解决

    1.1首先要找设置 File--Settings--Build,..--Maven  1.2然后就继续 File--Invalidata Caches    点击这个键, 再 开启idea 然后在 设置pom.xml文件的代码  演示: 然后就OK了

    2024年02月11日
    浏览(45)
  • 解决在jupyter notebook中找不到pip安装后的库

    解决在jupyter notebook中找不到已安装的库

    2024年02月13日
    浏览(89)
  • 在‘__init__.py‘中找不到引用‘imread‘

    查找项目运行环境,目的是找到opencv的安装环境,在pycharm中查看环境方式如下图所示  本人路径为:D:AnacondasenvskeypointsLibsite-packagescv2,将路径下的从cv2.pyd复制粘贴,放到上级目录site-packages下,问题即可解决。  

    2024年02月11日
    浏览(38)
  • 解决Ubuntu有网卡但无法上网,且设置中找不到网卡

    系统为Ubuntu 22.04,运行在VMware Workstation 17 Pro中 无法上网,执行 ip addr ,网卡信息中显示 qdisc noop state DOWN group default Ubuntu的“ 设置-网络 “中 找不到网卡 重启系统,问题依然存在 使用systemctl重启NetworkManager,问题依然存在,并发现报错 failed to open /run/network/ifstate 删除虚拟机

    2024年01月20日
    浏览(45)
  • 【unity】【vr】新版Unity中找不到xr interaction toolkit

    unity中开发VR相关游戏和应用少不了一个很重要的Package:XR interaction toolkit。 但是新版unity中发现没了这个包,这篇介绍解决办法。 之前的unity版本中,默认状况下也是看不到XR interaction toolkit的。 需要在package设定中打开高级设定,允许用户看到pre-release版本,然后拉到列表底

    2024年02月11日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包