Oracle Grant 然后SYNONYM 有没有其他办法?

Oracle Grant then SYNONYM is there any other ways?

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

GRANT SELECT ON TABLE t TO otherUser 

CREATE PUBLIC SYNONYM t FOR t

问题是我一直认为如果我授予 select 权限,Oracle 应该自动让新用户看到 table。

实际上,我必须创建同义词,否则新用户无法 select

我在纠结有没有别的办法?让其他用户看到 table 并执行 select 而不创建同义词?

I wander is there any other way? to let the other user see the table and perform select without create a synonym?

是的。

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

SCHEMA.TABLE

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

关于 AskTom 的详细讨论 here