Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Roles are still ignored with Invoker's Rights?
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
![]() |
![]() |