Oracle 中的序列权限
Posted
技术标签:
【中文标题】Oracle 中的序列权限【英文标题】:Sequence Permission in Oracle 【发布时间】:2011-11-02 05:24:22 【问题描述】:如何检查授予特定序列的权限并从 SQL*Plus 为特定序列分配权限。谢谢
【问题讨论】:
【参考方案1】:授予权限:
grant select on schema_name.sequence_name to user_or_role_name;
检查已授予哪些权限
select * from all_tab_privs where TABLE_NAME = 'sequence_name'
【讨论】:
【参考方案2】:还有一点。在某些情况下,我在 all_tab_privs 上找不到任何结果!我确实在 dba_tab_privs 上找到了它。我认为最后一张表更好地检查对象上的任何可用授权(在影响分析的情况下)。语句变为:
select * from dba_tab_privs where table_name = 'sequence_name';
【讨论】:
普通用户通常无权访问任何DBA_xxx
视图。
当然,你是对的!但事实是我需要评估序列更新对 Oracle 表的影响。使用与 DBA 不同的凭据,我没有找到为其他用户设置的授权。使用 sys 凭据,我发现如果停止到第一条语句,我将错过 3 个依赖模式(在 prod 环境中存在损害)。
忘记感谢 beny23 的回答。寻找和找到 DBA 的观点必不可少;)以上是关于Oracle 中的序列权限的主要内容,如果未能解决你的问题,请参考以下文章
oracle 在存储过程中用动态sql创建序列为何会遇到权限不足的问题呢?