Amigo, acredito que o que você cita seja isso aqui:

 

CREATE OR REPLACE TRIGGER SYS.BLOCK_USER_TOOLS AFTER LOGON ON DATABASE

DECLARE

  v_prog   sys.v_$session.program%TYPE;

  owner    sys.v_$session.username%TYPE;

  v_osuser sys.v_$session.osuser%TYPE;

BEGIN

  SELECT program, username, osuser

    INTO v_prog, owner, v_osuser

    FROM sys.v_$session

  WHERE  sid = USERENV('SID')

    AND  audsid != 0  -- Não verifica conexões do SYS

    AND  rownum = 1;  -- Parallel processes will have the same AUDSID's

   IF UPPER(owner) NOT IN
('ANONYMOUS','AURORA$JIS$UTILITY$','AURORA$ORB$UNAUTHENTICATED','DBSNMP','DI
P','DMSYS','EXFSYS','LMS','MDDATA','MDSYS','MGMT_VIEW','OPERADOR','ORDPLUGIN
S','ORDSYS','OSE$HTTP$ADMIN','OUTLN','SI_INFORMTN_SCHEMA',,'SYS','SYSMAN','S
YSTEM','TRACESVR','TSMSYS','WKPROXY','WMSYS','XDB')

   THEN

     IF (UPPER(v_prog) LIKE '%TOAD%'      OR

         UPPER(v_prog) LIKE '%T.O.A.D%'   OR  -- Toad

         UPPER(v_prog) LIKE '%SQLNAV%'    OR  -- SQL Navigator

         UPPER(v_prog) LIKE '%PLSQLDEV%'  OR  -- PLSQL Developer

         UPPER(v_prog) LIKE '%BUSOBJ%'    OR  -- Business Objects

         UPPER(v_prog) LIKE '%EXCEL%'     OR  -- MS-Excel plug-in

         UPPER(v_prog) LIKE '%SQLPLUS%'   OR  -- SQLPLUS

         UPPER(v_prog) LIKE '%DEVELOPER%' OR  -- Oracle SQL Developer

         UPPER(v_prog) LIKE '%IFBLD%'     OR  -- Oracle Forms Developer
Builder

         UPPER(v_prog) LIKE '%FRMBLD%'    OR  -- Oracle Forms Developer
Builder

         UPPER(v_prog) LIKE '%RAPTOR%')       -- Oracle Raptor

       THEN

        RAISE_APPLICATION_ERROR(-20000, 'A ferramenta de acesso não é
permitida para este usuário! ('||v_osuser||' - '||owner||' -
'||v_prog||')');

     END IF;

  END IF;

EXCEPTION

WHEN NO_DATA_FOUND THEN NULL;

END;

/

 

 

Lembrando que não existe forma 100% efetiva de bloquear nesses casos. Se o
usuário renomear o arquivo executável, ele conseguirá acessar o banco de
dados... 

 

Abraços,

 

Marcus Vinicius Miguel Pedro

OCP Database 9i

OCP Database 10g

OCE RAC 10g

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de candiurudba
Enviada em: terça-feira, 19 de maio de 2009 11:16
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: Trigger para bloqueio de Acesso com PL/SQL ou SQL
PLUS

 






fiz alguns testes por aqui e realmente funciona...mas para tada
instancia...s eue quiser restringir esta trigger somente para alguns
schemas...pois este é o meu problema...

Na minha instancia, existem alguns schemas que permitem o uso dos
DEVELOPER´S e outros esquemas não.

continuarei estudando por aqui mas se algum tiver mais alguma
luz..agradeceria..

--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
, "candiurudba" <candiuru...@...> escreveu
>
> dei uma olhadinha e estav show de bola...acho que é isto mesmo..
> 
> só uma dúvida, ela é para ser implementada no usuário especifico ou no
Sys..fiquei na dúvida devido o select que esta sendo feito na v_$mystat que
só é acessada por este cara...
> 
> --- Em oracle_br@yahoogrupos.com.br
<mailto:oracle_br%40yahoogrupos.com.br> , Duilio Bruniera Junior <bruniera@>
escreveu
> >
> > E ai brow .....
> > não sei se essa é a mesma trigger que voce ta falando , mais acho que
pode
> > resolver o seu problema da uma olhada.
> > <begin>----------------------------------------------------------
> > create or replace trigger on_logon
> > after logon on database
> > declare
> > v_sid number;
> > v_isdba varchar2(10);
> > v_program varchar2(30);
> > 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;
> > select sys_context('userenv', 'ISDBA') into v_isdba from dual;
> > if upper(v_program) = 'PLSQLDEV.EXE' and v_isdba = 'FALSE' then -- o
> > nome do programa tem que ser em maiusculo.
> > raise_application_error(-20001,'A Ferramenta PL/SQL Developer é limitada
> > apenas aos DBA'||chr(39)||'s',true);
> > end if;
> > end;
> > /
> > <end>----------------------------------------------------------
> > 
> > 2009/5/19 candiurudba <candiurudba@>
> > 
> > >
> > >
> > > Bom dia coelgas, tudo bom ?
> > >
> > > Vi ha algum tempo atras em um forum, uma trigger que bloqueava acessos
de
> > > usuário que estivessem se conectando com SQL PLUS ou PLSQL DEVELOPR
por
> > > exemplo mas não me recordo com a mesma tinha sido desenvolvida...
> > >
> > > A ideia era bloquear acessos a determinados esquemas com a utilização
de
> > > aplicação de desenvolvimento (SQL PLUS, PL/SQL DEVELOPER. ORACLE SQL
> > > SEVELOPER, TOAD E ETC).
> > >
> > > Minha ideia seria uma trigger que seria aplicada em um determinado
usuário
> > > e, após o logon do mesmo, estes aplicativos fossem bloqueados.
> > >
> > > Alguem teria alguma luz sobre este assunto ? è justamente para evitar
> > > acessos indesejados na base de dados...
> > >
> > > abraços
> > >
> > > 
> > >
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>





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

Responder a