【问题标题】:Not able to SELECT a DB view无法选择数据库视图
【发布时间】:2015-12-09 21:33:50
【问题描述】:

在 Oracle 中,我有以下情况,但面临授权问题。

架构 A: 有3个表:TA1、TA2、TA3

架构 B: 在连接表 TA1、TA2 和 TA3 时具有 DB 视图“VB”

用户 C: 在 VB 上有 SELECT 授权

问题: 在视图“VB”上向 C 提供了 SELECT 授权,但不能从“C”访问。 我还尝试将 TA1、TA2 和 TA3 上的 SELECT 访问权限授予 C,但没有成功。

请指教。

【问题讨论】:

    标签: oracle11g


    【解决方案1】:

    您需要使用WITH GRANT 选项授予权限

    作为schema_a,授予对基础表的访问权限,并可选择将该授予授予另一个架构

    GRANT select ON ta1 TO schema_b WITH GRANT OPTION;
    GRANT select ON ta2 TO schema_b WITH GRANT OPTION;
    GRANT select ON ta3 TO schema_b WITH GRANT OPTION;
    

    作为schema_b,您现在可以将使用这些表的视图上的选择权限授予schema_c

    GRANT select ON vb TO schema_c;
    

    schema_c 可以直接从 vb 中选择,但不能直接从基础表中选择。

    SELECT * from schema_b.vb;
    

    无需将表上的选择直接授予schema_c

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2015-07-19
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多