Senhores,

estou com uma trigger para controlar o acesso dos usuario no ambiente de
produção.
Ela está funcionando, porem apresenta o erro de sql recursivo.
A versão do oracle é 10.2.0.3.0.
Fico grato com a ajuda de vcs.
Segue a trigger e o erro:

create or replace trigger log_restriction
after logon on database
begin
for x in
(
select CLIENT_IDENTIFIER, program
from sys.v_$session
where audsid = userenv('sessionid')
)
loop
   if ltrim(rtrim(x.CLIENT_IDENTIFIER)) not in
('10.11.7.230','10.11.7.216','10.1.1.48','10.1.1.28'

,'10.1.1.15','127.0.0.1','10.1.1.31','200.198.213.112','200.198.202.105','10.1.1.36')
   or upper(ltrim(rtrim(x.program))) not in (
     'AETI.EXE'
    ,'SIRCX.EXE'
    ,'EQCASSERVICE.EXE'
    ,'SRVAQUISICAO.EXE'
    ,'SRVSOPHIABIB.EXE'
    ,'SRVBIB.EXE'
    ,'BIBLI.EXE'
    ,'MONC.EXE'
    ,'BIBCONF.EXE')
 then
     raise_application_error( -20999, 'USUÁRIO OU APLICAÇÃO NÃO AUTORIZADO
PARA USO NO AMBIENTE DE PRODUÇÃO!');
    end if;
end loop;
end log_restriction;
/

ORA-00604: ocorreu um erro no nível 1 SQL recursivo
ORA-20999: USUÁRIO OU APLICAÇÃO NÃO AUTORIZADO PARA USO NO AMBIENTE DE
PRODUÇÃO!

-- 
 Miguel Angelo Rodrigues da Silva
Administrador de Banco de Dados Oracle


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

Responder a