Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Roles are still ignored with Invoker's Rights?

Roles are still ignored with Invoker's Rights?

From: Finn Ellebaek Nielsen <fen_at_changegroup.dk>
Date: Tue, 27 Apr 1999 23:46:32 +0100
Message-ID: <7g5baa$eka$1@news.inet.tele.dk>


Oracle 8.1.5 on NT 4.0 Workstation SP3 128MB RAM.

My understanding of the new Invoker's Rights scheme for stored procedures was that where Definer's Rights has always ignored privileges granted through roles this would no longer be the case with Invoker's Rights because that would be checked at run-time.

OK, I'm trying to access DBA_OBJECTS through a stored procedure created in a schema with the DBA role granted (thus access to DBA_OBJECTS):

create or replace procedure p2 authid current_user as

  n number;

begin
  select count(*)
  into n
  from dba_objects;

  dbms_output.put_line('n = ' || to_char(n)); end;
/

show errors

Errors for PROCEDURE P2:

LINE/COL ERROR

-------- -----------------------------------------------------------------
6/3      PL/SQL: SQL Statement ignored
8/8      PLS-00201: identifier 'SYS.DBA_OBJECTS' must be declared

But I can in fact see DBA_OBJECTS:

select count(*)
from dba_objects;

If I from SYS grants select priviliges:

grant select on dba_objects to scott;

it works. But with Invoker's Rights I would now need to grant that access to all users!

It this a bug?

Thanks.

Finn Received on Tue Apr 27 1999 - 17:46:32 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US