[oracle_br] Atribuir Role no Logon

2009-05-19 Por tôpico Elis Azevedo Nery

Olá!

Eu gostaria de atribuir um role ao usuário no logon do banco de dados.

Fiz o trigger a seguir, apesar dele entrar e fazer o set, o usuário não fica 
com o role. Alguma sugestão?

CREATE OR REPLACE TRIGGER SYS.BLOCK_TOOLS_FROM_PROD AFTER LOGON ON DATABASE
DECLARE

BEGIN
  SELECT program, username, osuser
INTO v_prog, owner, v_osuser
FROM sys.v_$session
  WHERE  audsid = USERENV('SESSIONID')
AND  audsid != 0  -- Don't Check SYS Connections
AND  rownum = 1;  -- Parallel processes will have the same AUDSID's


   IF UPPER(v_prog) LIKE '%DIS51ADM%'   
 THEN  
   DBMS_SESSION.SET_ROLE. ('SUPER ROLE IDENTIFIED BY password'');   
  END IF;   
  
END;

Obrigada
Elis Nery



  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com


Re: [oracle_br] Atribuir Role no Logon

2009-05-19 Por tôpico Gleyson Melo
Fala Elis,
Utilize a feature Secure Application Roles:

http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/authoriz.htm#i1008520

2009/5/19 Elis Azevedo Nery elisn...@yahoo.com




 Olá!

 Eu gostaria de atribuir um role ao usuário no logon do banco de dados.

 Fiz o trigger a seguir, apesar dele entrar e fazer o set, o usuário não
 fica com o role. Alguma sugestão?

 CREATE OR REPLACE TRIGGER SYS.BLOCK_TOOLS_FROM_PROD AFTER LOGON ON DATABASE
 DECLARE

 BEGIN
 SELECT program, username, osuser
 INTO v_prog, owner, v_osuser
 FROM sys.v_$session
 WHERE audsid = USERENV('SESSIONID')
 AND audsid != 0 -- Don't Check SYS Connections
 AND rownum = 1; -- Parallel processes will have the same AUDSID's

 IF UPPER(v_prog) LIKE '%DIS51ADM%'
 THEN
 DBMS_SESSION.SET_ROLE. ('SUPER ROLE IDENTIFIED BY password'');
 END IF;

 END;

 Obrigada
 Elis Nery

 Veja quais são os assuntos do momento no Yahoo! +Buscados
 http://br.maisbuscados.yahoo.com
  




-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


[As partes desta mensagem que não continham texto foram removidas]