Re: Accessing another user's tables

From: Jim Hill <jthill_at_us.oracle.com>
Date: Thu, 9 Jun 1994 01:12:14 GMT
Message-ID: <16FCF10005.JTHILL_at_us.oracle.com>


 

In <1994Jun6.230724.23032_at_nova.wright.edu>, jmatthews_at_nova.wright.edu writes:
>A user, scott, has some tables and some forms that manipulate
>those tables. Another user, john, wants to run those forms.
>After granting access to his tables to john (or public), I would
>have thought that scott should refer to his tables (in his
>form's code) as scott.tablename. Instead, a colleague suggested
>using the unadorned tablename and creating (public) synonym(s)
>for scott's tables.
>
>Any thoughts on which approach to prefer? Thanks.
 

John can also create private synonyms for the tables:  

create synonym foo for scott.foo;  

and refer to the table as just 'foo'. If the tables migrate, a dba can do things like select * from all_synonyms where table_owner = 'SCOTT' to find all affected synonyms.  

Another possibility is to create a fake user (with e.g. a 0 space quota), and create the application synonyms there; then anyone who wants to use the application can specify application.view and the application developer can connect there and set up the synonyms. This has the advantage of not requiring a dba to track all the private synonyms (there shouldn't be any) and not requiring public synonyms on a database that has a lot of separately administered applications.  

Jim, off the top of his head Received on Thu Jun 09 1994 - 03:12:14 CEST

Original text of this message