【问题标题】:How to grant "select" permission on public synonym "SHC.ABC" of table "SHC.ABC"如何授予对表“SHC.ABC”的公共同义词“SHC.ABC”的“选择”权限
【发布时间】:2019-07-09 12:01:13
【问题描述】:

我创建了名为 "SCH.ABC" 的表并创建了 PUBLIC 同义词 "SCH.ABC" 现在我想在同义词 "ABC" 上授予模式 "SCH1" 的 "select" 权限。我该怎么做,请帮助解决这个问题。

我正在创建同名表作为同名表,在授予权限时,我们不会指定对象类型是表还是同义词。 如果给定,则将 ABC 上的选择授予 sch1;那么哪种对象类型将被授予同义词或表?

【问题讨论】:

  • 非常感谢您的回复。我正在创建同名表作为同名表,在授予权限时,我们不会指定对象类型是表还是同义词。如果将 ABC 上的授权选择授予 sch1;那么哪种对象类型将获得授权同义词或表?

标签: sql oracle oracle11g oracle12c


【解决方案1】:

您已经创建了一个名为 abc 的公共同义词,并且您可以授予对特定架构的选择权限为

grant select on abc to sch1;

您不需要通过连接到syssystem 架构来将架构名称限定为sch.abc

或者您可以授予所有架构

grant select on abc to public;

并且您不需要使用架构名称限定公共同义词abc。使用

select * from abc;

在数据库中的每个模式中。

【讨论】:

  • 嗨,Barbaros,非常感谢您有兴趣回答这个问题。我刚刚发现,在这种情况下,同义词只会获得优先权。我在我的家庭模式中通过删除同义词进行了测试,并尝试在另一个模式中访问它,它给出了错误,之后我再次创建了同义词,它工作正常。
【解决方案2】:

非常感谢您有兴趣回答这个问题。我刚刚发现,在这种情况下,同义词只会获得优先权。我在我的家庭架构中通过删除同义词进行了测试,并尝试在另一个架构中访问它,它给出了错误,之后我再次创建了同义词,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 2021-12-08
    相关资源
    最近更新 更多