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如何给用户创建查询序列的权限?

Oracle序列

oracle 在存储过程中用动态sql创建序列为何会遇到权限不足的问题呢?

oracle数据库在表中加主键创建自动增长序列权限不足怎么办

oracle sys 权限不足

Oracle详解Oracle中的序列