我需要在更高权限的帐户的架构中为普通用户提供一个脚本。我正在使用set current_schema来实现这一目标。但是,我发现一旦我改变了架构,公共同义词就不起作用了 - 除非我符合条件,否则我无法访问第三种不同架构中的表:
>select count(*) from my_table;
COUNT(*)
----------
79982
>alter session set current_schema = admin_account;
Session altered.
>select count(*) from my_table;
select count(*) from my_table
*
ERROR at line 1:
ORA-00942: table or view does not exist
>select count(*) from other_account.my_table;
COUNT(*)
----------
79982
有没有办法让同义词再次运作?
答案 0 :(得分:1)
Public synonyms
可以访问 all users
。但是,每个用户必须对基础对象具有适当的权限才能使用synonym
。请检查表admin_account
上my_table
的权限