【问题标题】:Get a list of procedures in an Oracle database which a particular user has access to获取特定用户有权访问的 Oracle 数据库中的过程列表
【发布时间】:2014-10-14 13:00:37
【问题描述】:

我想获取特定用户有权访问的 Oracle 数据库中的过程列表。 假设我有用户 scott,它是 10 个程序的所有者。 用户 scott 已将其中一些过程的所有权限授予用户 xxx。

现在有什么查询可以找到用户“xxx”可以访问的所有此类程序吗?

【问题讨论】:

    标签: oracle stored-procedures jdbc


    【解决方案1】:

    可以授予多个权限,因此以下查询将取决于您要测试的内容, 但一般来说:

    select * from all_procedures
    

    将提供当前用户拥有任何权限的过程列表(是否编译,是否执行)。

    【讨论】:

    • 我只想知道用户可以执行的所有程序的名称。有可能吗?
    • 在一个正常的系统中,这个查询应该足够了,因为人们很少授予编译权限,而没有执行权限。带来所有实际“执行”权限的查询非常复杂,因为存在可能包含权限的角色层次结构......你真的需要它吗?还是他的 all_procedures 足以满足您的需求?
    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 2011-06-09
    • 2010-12-21
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多