在 Oracle 数据库中具有角色时错误用户没有特权
Posted
技术标签:
【中文标题】在 Oracle 数据库中具有角色时错误用户没有特权【英文标题】:Error user no priviledge when have a role in Oracle Database 【发布时间】:2020-11-12 05:03:58 【问题描述】:我想问一下oracle数据库。所以我有一个用户 A 和角色 B。在角色 B 中,我有权选择任何表,在表中插入等。我已将角色 B 授予用户 A。如果我正常运行 select 和 insert,我没有问题。但是如果我想编译一个包我有一个问题,它说用户A没有权限。我确信包内的表或过程已被授予角色 B。但它仍然有错误没有特权。还有一个,如果我赋予用户 A 的权限,它可以顺利运行。但是我想把权限放在角色 B 中。我该如何解决?
【问题讨论】:
【参考方案1】:作为包、过程或函数的对象需要直接授予,而不是通过角色授予。
你在这里有一个很好的解释
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1065832643319
这里有很好的答案
Why doesn't PL/SQL respect privileges granted by Roles?
【讨论】:
以上是关于在 Oracle 数据库中具有角色时错误用户没有特权的主要内容,如果未能解决你的问题,请参考以下文章