quinta-feira, 14 de outubro de 2010

COMO BLOQUEAR CONEXÕES DE APLICATIVOS

CREATE OR REPLACE TRIGGER "SYS"."AUDIT_LOGON" AFTER LOGON ON DATABASE
DECLARE
v_sid number;
v_program varchar2(64);
v_msg varchar2(200);
BEGIN
EXECUTE IMMEDIATE 'SELECT DISTINCT sid FROM sys.v_$mystat'
INTO v_sid;

EXECUTE IMMEDIATE 'SELECT program FROM sys.v_$session WHERE sid = :b1'
INTO v_program
USING v_sid;

v_msg := 'Tentativa de conexao com: ' ||v_program||' recusada!!!';

-- programas bloqueados
IF (UPPER(v_program) LIKE '%TOAD%' OR
UPPER(v_program) LIKE '%PLSQLDEV%' OR
UPPER(v_program) LIKE '%MSACCESS%' OR
UPPER(v_program) LIKE '%EXCEL%' OR
UPPER(v_program) LIKE '%PLUS%') THEN
RAISE_APPLICATION_ERROR(-20000,v_msg,true);
END IF;
END;

2 comentários:

  1. Ola, Diego!
    Meu amigo, tentei essa sua trigger, mas nao obtive sucesso.
    Logo pelo sqlplus e plsqldeveloper sem problemas...
    Sugere algum teste que eu possa fazer?
    Obrigado,
    Armando.

    ResponderExcluir
  2. Eu tambem consegui conexao, utilizo o banco 10g

    ResponderExcluir