ha ha ha..com certeza foi..ha ha ha

O velho mardito ()..rs

Valeu..abração

--- Em oracle_br@yahoogrupos.com.br, Fábio Gibon - Comex System <gi...@...> 
escreveu
>
> Não está faltando uns parenteses neste teu IF (... and ( or or or )) ?
> 
> sds
> Gibon
>   ----- Original Message ----- 
>   From: candiurudba 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Tuesday, May 19, 2009 4:26 PM
>   Subject: [oracle_br] Re: Trigger para bloqueio de Acesso com PL/SQL ou SQL 
> PLUS
> 
> 
> 
> 
> 
>   Opa pessoal...
> 
>   Implementei um script de logon, que não permite o acesso dos DEVELOPER´S da 
> vida e funcionou...mas so tem um problema...tenho um usuário chamado TESTE E 
> UM CHAMADO TESTE_SELECT...O ESTE ÚLTIMO parou de funcionar quando implementei 
> a trigger quando tento acessar Oracle sql developer mas via pl/sql developer, 
> ele funciona sem problemas...não entendi nada...
> 
>   A parte da minha trigger que trata isso é:
> 
>   IF (v_username = 'TESTE' AND UPPER(v_module) = 'PLSQLDEV.EXE' OR
>   UPPER(v_module) LIKE '%TOAD%' OR -- TOAD
>   UPPER(v_module) = 'PL/SQL Developer' OR -- PL / SQL DEVELOPER
>   UPPER(v_module) LIKE '%SQLNAV%' OR -- SQL NAVIGATOR
>   UPPER(v_module) LIKE '%SQLPLUS%' OR --SQL PLUS
>   UPPER(v_module) LIKE '%DEVELOPER%') THEN 
> 
>   Pensei que ambos (ORACLE SQL DEVELOPER e o PL/SQL) interpretassem da mesma 
> forma as conexões, pois são usuários distintos, com seus sid e serial# 
> distintos...alguem tem alguma luz ?
> 
>   --- Em oracle_br@yahoogrupos.com.br, Fábio Gibon - Comex System <gibon@> 
> escreveu
>   >
>   > Complementando... para ter um pouquinho mais de restrição use a coluna 
> MODULE e não PROGRAM... evita o renomear do .exe.
>   > 
>   > sds
>   > Gibon
>   > ----- Original Message ----- 
>   > From: Marcus Vinicius Miguel Pedro 
>   > To: oracle_br@yahoogrupos.com.br 
>   > Sent: Tuesday, May 19, 2009 11:31 AM
>   > Subject: RES: [oracle_br] Re: Trigger para bloqueio de Acesso com PL/SQL 
> ou SQL PLUS
>   > 
>   > 
>   > 
>   > 
>   > 
>   > 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" <candiurudba@> 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]
>   > 
>   > 
>   > 
>   > 
>   > 
>   > [As partes desta mensagem que não continham texto foram removidas]
>   >
> 
> 
> 
>   
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a