1

我需要在特权更高的帐户的架构中为普通用户提供一个脚本。我正在使用 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

有没有办法让同义词再次起作用?

4

1 回答 1

1

Public synonyms可以访问all users。但是,每个用户都必须对基础对象具有适当的权限才能使用synonym.Check the priviledges for admin_accounton tablemy_table

于 2012-06-07T16:28:51.180 回答