Acrescenta também nas ferramentas, o SQLTools muito utilizada por desenvolvedores e analistas.
Em Quinta-feira, 28 de Maio de 2015 13:40, "Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Outra coisa que reparei na sua trigger, é que você utiliza UPPER(OWNER) comparando com os nomes dos usuários em minúsculo: 'cbarbosa' entre outros... Ou seja, o usuário que entrar com cbarbosa, oracle, administrador irá passar pela trigger após a correção do seu problema. Em Quinta-feira, 28 de Maio de 2015 12:34, "'Schiavini' et...@schiavini.inf.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Boa tarde Qual é o resultado de: alter trigger TG_LOGON_AUDIT_TRIGGER compile; Étore From: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Sent: quinta-feira, 28 de maio de 2015 11:50 To: Lista de Usuários Oracle; Grupo OraOracle; Oracle in Brazil Subject: [oracle_br] Trigger de logon... Bom dia! Caros amigos, em pesquisa na net, também com sugestões recebidas de alguns amigos, compilei a seguinte trigger abaixo, apesar de não apresentar erros na compilação, quando tento acessar com o usuário "cbarbosa" é mostrado o ERRO descrito ao final da trigger: Gostaria da ajuda dos amigos que possuem maior experiência com oracle para a identificação do erro e sua solução. Obrigado... DROP TRIGGER SYS.TG_BLOCK_TOOLS_FROM_PROD; CREATE OR REPLACE TRIGGER SYS.TG_BLOCK_TOOLS_FROM_PROD AFTER LOGON ON DATABASE DECLARE v_prog SYS.v_$session.program%TYPE; v_module SYS.v_$session.module%TYPE; -- Parametro acrescentado para evitar programa renomeado. owner SYS.v_$session.username%TYPE; v_osuser SYS.v_$session.osuser%TYPE; BEGIN SELECT program, module, username, osuser INTO v_prog, v_module, owner, v_osuser FROM sys.v_$session WHERE audsid = USERENV ('SESSIONID') AND audsid != 0 -- Não verificar conexões SYS AND ROWNUM = 1; -- Processos paralelos terá o mesmo do AUDSID IF UPPER (owner) NOT IN ('cbarbosa', 'oracle', 'administrador', 'IUSR_ISSEC', 'APACHE', 'OEM', 'OEM22', 'SCOTT', 'SI_INFORMTN_SCHEMA', 'TSMSYS', 'WKPROXY', 'WKSYS', 'WMSYS', 'XDB', 'SYS', 'DBSNMP', 'SYSMAN', 'SYSTEM') THEN IF UPPER (v_prog) LIKE '%TOAD%' -- Toad OR UPPER (v_module) LIKE '%TOAD%' -- Toad OR UPPER (v_prog) LIKE '%T.O.A.D%' -- Toad OR UPPER (v_module) LIKE '%T.O.A.D%' -- Toad OR UPPER (v_prog) LIKE '%SQLNAV%' -- SQL Navigator OR UPPER (v_module) LIKE '%SQLNAV%' -- SQL Navigator OR UPPER (v_prog) LIKE '%PLSQLDEV%' -- PLSQL Developer OR UPPER (v_module) LIKE '%PLSQLDEV%' -- PLSQL Developer OR UPPER (v_prog) LIKE '%PL/SQL Developer%' -- PLSQL Developer OR UPPER (v_module) LIKE '%PL/SQL Developer%' -- PLSQL Developer OR UPPER (v_prog) LIKE '%SQL%' -- SQL Developer OR UPPER (v_module) LIKE '%SQL%' -- SQL Developer OR UPPER (v_prog) LIKE '%SQL Developer%' -- SQL Developer OR UPPER (v_module) LIKE '%SQL Developer%' -- SQL Developer OR UPPER (v_prog) LIKE '%BUSOBJ%' -- Business Objects OR UPPER (v_module) LIKE '%BUSOBJ%' -- Business Objects OR UPPER (v_prog) LIKE '%EXCEL%' -- MS-Excel plug-in OR UPPER (v_module) LIKE '%EXCEL%' -- MS-Excel plug-in OR UPPER (v_prog) LIKE '%SQLPLUS%' -- SQLPLUS OR UPPER (v_module) LIKE '%SQLPLUS%' -- SQLPLUS OR UPPER (v_prog) LIKE '%DEVELOPER%' -- Oracle SQL Developer OR UPPER (v_module) LIKE '%DEVELOPER%' -- Oracle SQL Developer OR UPPER (v_prog) LIKE '%IFBLD%' -- Oracle Forms Developer Builder OR UPPER (v_module) LIKE '%IFBLD%' -- Oracle Forms Developer Builder OR UPPER (v_prog) LIKE '%RWBUILDER%' -- Oracle Reports Builder OR UPPER (v_module) LIKE '%RWBUILDER%' -- Oracle Reports Builder OR UPPER (v_prog) LIKE '%RAPTOR%' -- Oracle Raptor OR UPPER (v_module) LIKE '%RAPTOR%' -- Oracle Raptor THEN RAISE_APPLICATION_ERROR ( -20000, 'A Ferramenta de desenvolvimento ' || v_module || ' não é permitida na PRODUÇÃO! (' || v_osuser || ' - ' || owner || ' - ' || v_prog || ' - ' || v_module -- Parametro acrescentado. || ')'); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; / ================= ERRO ========================== # -- Erro apresentado quando da tentativa de conexao com usuario (cbarbosa) # Ocorreu um erro ao executar a operação solicitada: ORA-04098: gatilho 'SYS.TG_LOGON_AUDIT_TRIGGER' é inválido e a revalidação falhou 04098. 00000 - "trigger '%s.%s' is invalid and failed re-validation" *Cause: A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger. *Action: Options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger. Código de fornecedor 4098 ================= ATT ========================== # -- A TRIGGER NÃO APRESENTA ERROS DE COMPILAÇÃO SELECT LINE, POSITION, REPLACE (TEXT, CHR (10), ' '), attribute FROM SYS.ALL_ERRORS A WHERE A.NAME = 'TG_BLOCK_TOOLS_FROM_PROD' AND A.TYPE = 'TRIGGER' AND A.OWNER = 'SYS' ORDER BY ATTRIBUTE, LINE, POSITION; Time Start: 28/05/2015 10:07:29 no rows selected. (SEM ERROS DE COMPILACAO...) Time End: 28/05/2015 10:07:30 Elapsed Time for Script Execution: 514 msecs Atenciosamente, Image removed by sender. Foto Cristiano Vasconcelos Barbosa Cristiano Vasconcelos Barbosa.'. Analista de Sistemas & Banco de Dados | Cel: +55 (85) 9691.8331 _____ <http://br.linkedin.com/in/cristianovasconcelos> http://br.linkedin.com/in/cristianovasconcelos DEUS MEUMQUE JUS.'. DÓMINI SUMUS.'. Contact me: Image removed by sender. Google Talk <mailto:cvasconcel...@gmail.com> cvasconcel...@gmail.com Image removed by sender. Skype cvasconcelosb Image removed by sender. MSN <mailto:cvasconcel...@hotmail.com> cvasconcel...@hotmail.com Image removed by sender. Y! Messenger <mailto:cvasconcel...@yahoo.com.br> cvasconcel...@yahoo.com.br Image removed by sender. My QR VCard <http://s.wisestamp.com/links?url=http%3A%2F%2Fbr.linkedin.com%2Fin%2Fcristianovasconcelos&sn=Y3Zhc2NvbmNlbG9zYkBnbWFpbC5jb20%3D> Image removed by sender. [As partes desta mensagem que não continham texto foram removidas] #yiv8207556921 #yiv8207556921 -- #yiv8207556921ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8207556921 #yiv8207556921ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8207556921 #yiv8207556921ygrp-mkp #yiv8207556921hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv8207556921 #yiv8207556921ygrp-mkp #yiv8207556921ads {margin-bottom:10px;}#yiv8207556921 #yiv8207556921ygrp-mkp .yiv8207556921ad {padding:0 0;}#yiv8207556921 #yiv8207556921ygrp-mkp .yiv8207556921ad p {margin:0;}#yiv8207556921 #yiv8207556921ygrp-mkp .yiv8207556921ad a {color:#0000ff;text-decoration:none;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ygrp-lc {font-family:Arial;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ygrp-lc #yiv8207556921hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ygrp-lc .yiv8207556921ad {margin-bottom:10px;padding:0 0;}#yiv8207556921 #yiv8207556921actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8207556921 #yiv8207556921activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8207556921 #yiv8207556921activity span {font-weight:700;}#yiv8207556921 #yiv8207556921activity span:first-child {text-transform:uppercase;}#yiv8207556921 #yiv8207556921activity span a {color:#5085b6;text-decoration:none;}#yiv8207556921 #yiv8207556921activity span span {color:#ff7900;}#yiv8207556921 #yiv8207556921activity span .yiv8207556921underline {text-decoration:underline;}#yiv8207556921 .yiv8207556921attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv8207556921 .yiv8207556921attach div a {text-decoration:none;}#yiv8207556921 .yiv8207556921attach img {border:none;padding-right:5px;}#yiv8207556921 .yiv8207556921attach label {display:block;margin-bottom:5px;}#yiv8207556921 .yiv8207556921attach label a {text-decoration:none;}#yiv8207556921 blockquote {margin:0 0 0 4px;}#yiv8207556921 .yiv8207556921bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv8207556921 .yiv8207556921bold a {text-decoration:none;}#yiv8207556921 dd.yiv8207556921last p a {font-family:Verdana;font-weight:700;}#yiv8207556921 dd.yiv8207556921last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8207556921 dd.yiv8207556921last p span.yiv8207556921yshortcuts {margin-right:0;}#yiv8207556921 div.yiv8207556921attach-table div div a {text-decoration:none;}#yiv8207556921 div.yiv8207556921attach-table {width:400px;}#yiv8207556921 div.yiv8207556921file-title a, #yiv8207556921 div.yiv8207556921file-title a:active, #yiv8207556921 div.yiv8207556921file-title a:hover, #yiv8207556921 div.yiv8207556921file-title a:visited {text-decoration:none;}#yiv8207556921 div.yiv8207556921photo-title a, #yiv8207556921 div.yiv8207556921photo-title a:active, #yiv8207556921 div.yiv8207556921photo-title a:hover, #yiv8207556921 div.yiv8207556921photo-title a:visited {text-decoration:none;}#yiv8207556921 div#yiv8207556921ygrp-mlmsg #yiv8207556921ygrp-msg p a span.yiv8207556921yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8207556921 .yiv8207556921green {color:#628c2a;}#yiv8207556921 .yiv8207556921MsoNormal {margin:0 0 0 0;}#yiv8207556921 o {font-size:0;}#yiv8207556921 #yiv8207556921photos div {float:left;width:72px;}#yiv8207556921 #yiv8207556921photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv8207556921 #yiv8207556921photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv8207556921 #yiv8207556921reco-category {font-size:77%;}#yiv8207556921 #yiv8207556921reco-desc {font-size:77%;}#yiv8207556921 .yiv8207556921replbq {margin:4px;}#yiv8207556921 #yiv8207556921ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv8207556921 #yiv8207556921ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv8207556921 #yiv8207556921ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv8207556921 #yiv8207556921ygrp-mlmsg select, #yiv8207556921 input, #yiv8207556921 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv8207556921 #yiv8207556921ygrp-mlmsg pre, #yiv8207556921 code {font:115% monospace;}#yiv8207556921 #yiv8207556921ygrp-mlmsg * {line-height:1.22em;}#yiv8207556921 #yiv8207556921ygrp-mlmsg #yiv8207556921logo {padding-bottom:10px;}#yiv8207556921 #yiv8207556921ygrp-msg p a {font-family:Verdana;}#yiv8207556921 #yiv8207556921ygrp-msg p#yiv8207556921attach-count span {color:#1E66AE;font-weight:700;}#yiv8207556921 #yiv8207556921ygrp-reco #yiv8207556921reco-head {color:#ff7900;font-weight:700;}#yiv8207556921 #yiv8207556921ygrp-reco {margin-bottom:20px;padding:0px;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ov li a {font-size:130%;text-decoration:none;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv8207556921 #yiv8207556921ygrp-sponsor #yiv8207556921ov ul {margin:0;padding:0 0 0 8px;}#yiv8207556921 #yiv8207556921ygrp-text {font-family:Georgia;}#yiv8207556921 #yiv8207556921ygrp-text p {margin:0 0 1em 0;}#yiv8207556921 #yiv8207556921ygrp-text tt {font-size:120%;}#yiv8207556921 #yiv8207556921ygrp-vital ul li:last-child {border-right:none !important;}#yiv8207556921