当前位置: 首页 > news >正文

数据库管理-第293期 奇怪的sys.user$授权+(20250210)

数据库管理293期 2025-02-10

  • 数据库管理-第293期 奇怪的sys.user$授权+(20250210)
    • 1 清空shared pool
    • 2 SR反馈
    • 总结

数据库管理-第293期 奇怪的sys.user$授权+(20250210)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

胖头鱼的鱼缸_01.png
之前的内容可以去看数据库管理-第284期 奇怪的sys.user$授权(20250116)。
目前根据SR的反馈,这个问题已经19c部分版本复现了,而且在23ai中也能复现,在等待SR进一步排查反馈的过程中呢,我也进行了一些尝试。

1 清空shared pool

一般来说授权之后对应信息会写入shared pool中,但如果相关数据在集群同步过程中出现异常,应该是可以通过清空shared pool的方式使其他节点重新读取授权信息。因此在测试库进行相关尝试:

alter system flush shared_pool;

image.png
image.png
image.png
可以看到使用清空shared pool的方式可以解决该问题,但是并不建议在生产环境中使用这一方法,因为会连带清理SQL Plan Cache和其他元数据相关信息,增加硬解析影响性能并短时间增加IO。
通过这个解决方案,应该可以大致推理出,在使用sys.user$ 授权的时候会出现跨实例内存中授权信息不同步的现象,这也是可以通过在不同实例重新授权解决问题的原因。

2 SR反馈

首先在19c的大多数版本(包含最新的19.26)与23ai中,该问题都会出现,通过测试收集的trace分析,没有观察到reload user$ 的权限相关的row cache信息的行为。通过一些Oracle内部的信息检索,可以知晓,根据多个研发部门的调查实例的结论,由于Oracle的内部限制Oracle RAC中跨节点的invalidation时,user$ 这样的bootstrap object不会立即重载,因此,容易出现ORA-1031这样的权限报错问题。
经SR反馈,Oracle的部分编译脚本等都可能会遇到这样的问题,都通过修改脚本,改为访问DBA_XXX视图来解决问题。就本次遇到的问题也建议在需要获取数据库用户信息的时候使用dba_users而不是sys.user$,查询相关视图而不是直接查询基表也更符合数据库的安全规范。

总结

关于sys.user$ 授权的问题,其实是Oracle内部机制的问题,使用sys.user$ 查询用户信息并不合适。
老规矩,知道写了些啥。

http://www.lryc.cn/news/534636.html

相关文章:

  • react实例与总结(一)
  • 电路研究9.3——合宙Air780EP中的AT开发指南(含TCP 示例)
  • Qt 数据库SQLite 使用【01】基本功能
  • stm32小白成长为高手的学习步骤和方法
  • 大模型产品Deepseek(五)、本地安装部署(Docker方式)
  • Kafka 的消费offset原来是使用ZK管理,现在新版本是怎么管理的?
  • 基于改进型灰狼优化算法(GWO)的无人机路径规划
  • JS中|=是什么意思?
  • 快速上手Vim的使用
  • RPA与深度学习结合
  • 在阿里云ECS上一键部署DeepSeek-R1
  • 长安汽车发布“北斗天枢2.0”计划,深蓝汽车普及全民智驾
  • Aitken 逐次线性插值
  • docker 安装 Prometheus、Node Exporter 和 Grafana
  • 【LeetCode 热题100】74:搜索二维矩阵(二分、线性两种方式 详细解析)(Go 语言实现)
  • 元数据、数据元、数据元素、数据项 和 主数据的概念
  • 阿里云cdn怎样设置图片压缩
  • 白话文实战Nacos(保姆级教程)
  • 7. 基于DeepSeek和智谱清言实现RAG问答
  • 【数据结构】双向链表(真正的零基础)
  • 【生产变更】- Oracle RAC添加配置ipv6地址
  • Ai无限免费生成高质量ppt教程(deepseek+kimi)
  • python全栈-python基础
  • Python 鼠标轨迹 - 防止游戏检测
  • 力扣 零钱兑换
  • C# OpenCV机器视觉:OSTU算法实现背景差分的自适应分割
  • 快速搭建 Elasticsearch 8 集群:零基础实战与升级注意事项
  • 基于扑克牌分发效果制作时的问题总结
  • 老榕树的Java专题:Redis 从入门到实践
  • 【玩转 Postman 接口测试与开发2_019】第15章:利用 Postman 初探 API 性能测试(含实战截图)