Re: PLS-00201 error

From: Andrew Tanenbaum <andrew.tanenbaum_at_katamail.com>
Date: 28 Sep 2004 03:04:30 -0700
Message-ID: <8c6c0f6d.0409280204.4b7d30ad_at_posting.google.com>


Daniel Morgan <damorgan_at_x.washington.edu> wrote in message news:<1096338715.435860_at_yasure>...
> Andrew Tanenbaum wrote:
> > I have this situation: I created a synonym for schema2.table_name and
> > i use it in a procedure owned by schema1. Schema1 is dba and has the
> > grant to select any table by dba role. When i execute the procedure i
> > get the PLS-00201 error because i cannot access to schema2.table_name
> > with the grant given by the dba role, and so i have to explicitly
> > grant schema1 user to select any table ecc... But the weird issue is
> > another one. If i create a synonym like schema2.table_name_at_db1 and
> > schema1, with dba role and not explicit grants, executes the procedure
> > stored on db2, i get no error. So i have to explicitly grant schema1
> > when it accesses schema2.table_name, i don't when it accesses
> > schema2.table_name_at_db2 from db1.
> > Why?
>
> Because that is the Oracle security model and has been for a very long
> time.
>
> What is weird is not Oracle's behavior but rather the fact that you
> have apparently stumbled this far without ever learning the basics.
>
> I strongly urge you to take a good Oracle class and learn the basics
> before you make a mess banging code.

There's no time to learn in my dev team, i have to write and write code.
But I'm completely agree with you. I'm a new graduate and I've never seen oracle before, but after 1 week i'm already involved in the code development. And i've already seen many orrible things (e.g. all the application users have dba privs, all the application logic is stored on the client and not on the db server or on an application server ...) Received on Tue Sep 28 2004 - 12:04:30 CEST

Original text of this message