Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Can someone please verify this for me?
Maybe you should try with DBMS_SESSION.SET_ROLE?
On Thu, 2003-10-09 at 11:09, Nuno Souto wrote:
> I have a problem with the new procedure based roles,
> "Secure Application Roles".
> The following is taken from an example in ASKTOM.
> Basically, I'm trying to setup a role that is
> enabled or not by a procedure. The original code from Tom:
>
> ops$tkyte_at_DEV816> l
> 1 create or replace procedure turn_on_role
> 2 authid current_user
> 3 as
> 4 begin
> 5 execute immediate
> 'set role new_role identified by password';
> 6* end;
> ops$tkyte_at_DEV816> create role new_role identified by password;
> Role created.
> ops$tkyte_at_DEV816> set role none;
> Role set.
> ops$tkyte_at_DEV816> select * from session_roles;
> no rows selected
> ops$tkyte_at_DEV816> set role new_role;
> set role new_role
> *
> ERROR at line 1:
> ORA-01979: missing or invalid password for role 'NEW_ROLE'
> ops$tkyte_at_DEV816> exec turn_on_role;
> PL/SQL procedure successfully completed.
> ops$tkyte_at_DEV816> select * from session_roles;
> ROLE
> ------------------------------
> NEW_ROLE
> ops$tkyte_at_DEV816>
>
>
> Now, if I try this using what I need:
> 1 create or replace procedure turn_on_role
> 2 authid current_user
> 3 as
> 4 begin
> 5 execute immediate
> 'set role new_role';
> 6* end;
>
> and then try to run it:
>
> > exec turn_on_role;
>
> I get a ORA-6565 error:
> "Cannot execute SET ROLE from within stored procedure"
>
> Any ideas what am I missing here?
> 9.2.0.1, Win2K.
> Did the usual searches everywhere including Metaclick,
> nothing that I can relate to...
>
> TIA for any help.
> Cheers
> Nuno Souto
> nsouto_at_optusnet.com.au
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- Mladen Gogala Oracle DBA Note: This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Wang Trading LLC and any of its subsidiaries each reserve the right to monitor all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Mladen Gogala INET: mladen_at_wangtrading.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Oct 09 2003 - 13:29:53 CDT
![]() |
![]() |