Oracle Grant 那么 SYNONYM 有没有其他方法?

Posted

技术标签:

【中文标题】Oracle Grant 那么 SYNONYM 有没有其他方法?【英文标题】:Oracle Grant then SYNONYM is there any other ways? 【发布时间】:2015-10-13 09:18:33 【问题描述】:

为了能够让其他模式使用它不拥有的表,我通常

GRANT SELECT ON TABLE t TO otherUser 

CREATE PUBLIC SYNONYM t FOR t

问题是我一直认为 Oracle 应该自动让 newUser 看到表,如果我授予它选择权限。

实际上,我必须创建一个同义词,否则新用户无法选择它

我徘徊还有什么办法吗?让其他用户看到表并执行选择而不创建同义词?

【问题讨论】:

【参考方案1】:

我徘徊还有什么办法吗?让其他用户看到表并执行选择而不创建同义词?

是的。

如果没有同义词,其他用户必须指定 SCHEMA_NAME 才能引用其他架构中的表。

SCHEMA.TABLE

@Boneist 添加的一个好点。有时,您可以避免用同义词淹没系统,只需发出一个 alter session 语句来将当前模式设置为您希望访问对象的模式。

在 AskTom 上详细讨论 here。

【讨论】:

或者用户可以发出alter session set current schema = schemaname; @Boneist 是的,这是一种避免同义词和一些没有模式名称的较少解析的好方法。在答案中添加了相同的内容。谢谢 除了表或视图所有者之外,还有谁可以授予对其他架构/用户的选择? @Boneist Those Tahiti days ;-) LOL! @user5324782 数据库所有者始终有权这样做。或者,如果任何用户被授予这样做的权限。

以上是关于Oracle Grant 那么 SYNONYM 有没有其他方法?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 同义词 synonym

oracle同义词创建(synonym)

Oracle创建database link(dblink)和同义词(synonym)

[Oracle]同义词(synonym)

Oracle_高级功能 synonym和database link

同义词Synonym