暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

达梦数据库奇怪的SYS.V$CIPHERS权限问题

原创 陈举超 2025-09-10
414

image.png

问题现象:

DM管理工具,查看当前用户下,表列信息时,报错:

错误号:   -5504
错误消息: 没有[SYS.V$CIPHERS]对象的查询权限

image.png
image.png
实际该用户是可以正常desc 查看列,正常select查看数据。
image.png
对比达梦的另一个工具:SQLark百灵,就没有这个问题:
image.png
可以正常查看到表的列信息。
image.png

问题分析:

用工具查看表列信息时,DM管理工具Manager比SQLark工具需要更多的权限,也就是select on SYS.V$CIPHERS 权限。

解决方案:

个人认为,这应该属于DM管理工具的问题,查看表列信息时需要更多的,实际又完全可以避免的权限。
查看达梦官网,针对这种没有[SYS.VCIPHERS]对象的查询权限的问题,建议添加SYS.VCIPHERS对象查询权限,或者授予VTI角色。
相关权限说明:

https://eco.dameng.com/document/dm/zh-cn/pm/dm8-safety-appendix

image.png
测试,添加[SYS.V$CIPHERS]对象的查询权限后,确实可以查看到列信息了:

SQL> grant select on SYS.V$CIPHERS to cjc;

image.png
但是这似乎违背了权限最小化原则,权限越小,当出现误操作或者BUG时,可破坏的范围越小,过大的权限可能会出现看到了不该看到数据或执行了不该执行的操作 ,而不应该因为管理工具权限没控制好,而去添加[SYS.V$CIPHERS]、VDI、SVI、SOI等权限。

类似的问题

类似的问题还有这个:

错误号: -5504
错误信息:没有[SYS.SYSOBJECTS]对象的查询权限

这个错误更离谱,为了获得[SYS.SYSOBJECTS]对象的查询权限,需要添加SOI 角色权限,而SOI对应了51个对象的查询权限,多加了50个对象的查询权限,详细内容可以查看我的另一篇文章:
https://mp.weixin.qq.com/s/EjEf8QNGFHMgGRFVyhQCiA?scene=1&click_id=1

奇葩的操作

还有一种场景,在拥有[SYS.SYSOBJECTS]对象的查询权限情况下,使用达梦管理工具还会报错:

错误号:   -5504
错误消息: 没有[SYS.V$CIPHERS]对象的查询权限

就是通过 表空间—模式—表 的路径去查看表信息,这种查询方式很少见,今天看到某应用厂商通过这种方式去查看,也是非常意外,正常应该时去 模式—表 去查看。
image.png
image.png
而SQLark的报错更清晰,更容易理解,建议DM管理工具 参考 SQLark去优化一些细节。
image.png
image.png

欢迎关注我的公众号《IT小Chen
image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论