【问题标题】:Oracle stored procedure access to other schemasOracle 存储过程访问其他模式
【发布时间】:2021-08-04 19:37:38
【问题描述】:

感谢您阅读此问题。

我正在使用 Oracle 11g。通过我的用户,我可以运行此查询并可以访问所有带有视图的模式:

SELECT DISTINCT OWNER 
FROM ALL_OBJECTS 
WHERE OBJECT_TYPE = 'VIEW'

但是,当我在架构中与我的用户一起创建存储过程并将此查询放入其中时,我无法访问其他用户的架构。 我想存储过程需要以某种方式被授予对其他模式的访问权限。

感谢任何帮助。

亲切的问候,

彼得纳克

【问题讨论】:

    标签: oracle grant


    【解决方案1】:

    存储过程和其他 PL/SQL 构造不能使用通过角色授予的权限。对象权限——比如对表的“选择”或另一个模式中的视图——必须直接授予用户。这就是为什么您可以直接运行查询(使用用户基于角色的权限)而不是作为 PL/SQL 过程的一部分的原因。

    如果您确实需要将此查询包含在存储过程中,那么您必须与您的 DBA 一起确定需要将哪些对象权限直接授予您的用户帐户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2010-09-22
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多