Re: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
Sim, ai cabe ao DBA, verificar na v$session por qual programa ele está 
conectando com o nome do programa renomeado, agora o que você falou é a mais 
pura verdade, para burlar é fácil. 


 Em Quinta-feira, 28 de Maio de 2015 16:46, Andre Santos 
andre.psantos...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
   

     Rafael / Cristiano

Mas se o desenvolvedor/analista for um pouco mais safo, basta renomear o 
executável para burlar isso.

[ ]'s

André


2015-05-28 16:24 GMT-03:00 Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] 
oracle_br@yahoogrupos.com.br:

     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 (

-2,

'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. 0 - trigger 

Re: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico Andre Santos andre.psantos...@gmail.com [oracle_br]
Rafael / Cristiano

Mas se o desenvolvedor/analista for um pouco mais safo, basta renomear o
executável para burlar isso.

[ ]'s

André


2015-05-28 16:24 GMT-03:00 Rafael Mendonca raffaell.t...@yahoo.com
[oracle_br] oracle_br@yahoogrupos.com.br:



 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 (

 -2,

 '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. 0 - 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 

Re: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
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 (

-2,

'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. 0 - 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 

Re: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Yep : provavelmente, como eu disse numa msg anterior, o DBA teria um JOB de 
banco que roda a cada um ou dois minutos, varre a V$SESSION e mata as sessões 
(ou envia email, se matar é muito radical) cujo nome de programa não seja o 
talequal da aplicação, ou que o IP é o do web server/servidor de aplicação, ou 
sei lá que info seria usada para identificar que a sessão se originou da app...

 []s
 
   Chiappa

Re: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
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 (

-2,

'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. 0 - 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,


RE: [oracle_br] Trigger de logon...

2015-05-28 Por tôpico 'Schiavini' et...@schiavini.inf.br [oracle_br]
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

  IFUPPER (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 (

-2,

   '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 

Re: [oracle_br] Trigger de Logon

2006-10-06 Por tôpico Cristian
Caro Berrondo,
  uso uma trigger AFTER LOGON ON DATABASE, não sei se funciona em todas 
as versões, no Oracle 10g funciona:



CREATE OR REPLACE TRIGGER SYS.BLOCK_TOOLS_FROM_PROD AFTER LOGON ON DATABASE
DECLARE
  v_prog   sys.v_$session.program%TYPE;
  ownersys.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  audsid = USERENV('SESSIONID')
AND  audsid != 0  -- Don't Check SYS Connections
AND  rownum = 1;  -- Parallel processes will have the same AUDSID's


   IF UPPER(owner) NOT IN ('usuarios_liberados'.)
   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 '%RWBUILDER%' OR  -- Oracle Reports Builder
UPPER(v_prog) LIKE '%RAPTOR%'-- Oracle Raptor
 THEN
RAISE_APPLICATION_ERROR(-2, 'Development tools are not 
allowed on PRODUCTION DATABASE! ('||v_osuser||' - '||owner||' - 
'||v_prog||')');
 END IF;

  END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;






abraços,
Cristian.



rberrondo wrote:
 Preciso fazer uma trigger para evento a nível
 de banco/instancia.
 Toda vez que uma conexão é estabelecida, faria a
 checagem de usuário, aplicação e IP, se não estivesse de acordo com as
 regras , mataria a sessão.
 Alguem teria algum scprit para isto?
 Grata
 R Berrondo
 AD



  



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__
Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 Vagas Limitadas
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html