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]