Alisson, reserva uma bala para mim também. Estava com o mesmo problema e não 
conseguia entender o porque não funcionava, sendo que em outro schema estava 
dando certo.

Valeu Murilo.

Márcio.


  ----- Original Message ----- 
  From: Álisson Zimermann 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Thursday, May 20, 2010 2:45 PM
  Subject: Re: [oracle_br] Dúvida em Trigger


    
  Eu mereço um tiro.. a trigger funciona.. estava com user DBA mesmo U_u...

  obrigado gente =)

  Em 20 de maio de 2010 13:23, Murilo Lima <candango...@gmail.com> escreveu:

  > Álisson,
  >
  > Acho que o profile não tem como impedir sessões simultâneas de hosts
  > diferentes, teria que ser com o gatilho mesmo.
  > Usuários com privilégios de DBA não são impedidos de logar com a exceção
  > levantada pelo trigger, e quando acessar gera apenas o erro no alert.log.
  > Você teria que tentar com um usuário comum.
  > Na query não é necessária a subquery nas tabelas dual, poderia ser assim:
  >
  > select count(*)
  > from v$session
  > into v_login
  > where username = SYS_CONTEXT('USERENV','session_user')
  > and machine <> SYS_CONTEXT('USERENV','HOST')
  >
  > Espero ter ajudado.
  >
  > []'s
  >
  > Murilo Lima
  >
  > Em 20 de maio de 2010 13:00, Marcelo Feliciano
  > <marcelofelici...@gmail.com>escreveu:
  >
  > >
  > >
  > > se nao me engano no oracle vc seta no profile o user per session
  > > http://www.experts-exchange.com/Database/Oracle/Q_21229785.html
  > > nesse link fala alguma coisa
  > >
  > > Marcelo Feliciano
  > > marcelofelici...@gmail.com <marcelofeliciano%40gmail.com>
  > >
  > > 2010/5/20 Álisson Zimermann <alissonz...@gmail.com<alissonzima%
  > 40gmail.com>
  > > >
  > >
  > >
  > > >
  > > >
  > > > Bom dia...
  > > >
  > > > criei a trigger:
  > > >
  > > > CREATE OR REPLACE TRIGGER LOGIN
  > > > AFTER LOGON ON DATABASE
  > > > declare
  > > > v_login INTEGER;
  > > > begin
  > > > select count(*)
  > > > into v_login
  > > > from v$session where username = (select
  > > > SYS_CONTEXT('USERENV','session_user') from dual) and machine <> (select
  > > > SYS_CONTEXT('USERENV','HOST') host from dual);
  > > > if (v_login > 0)
  > > > THEN RAISE_APPLICATION_ERROR
  > > > (-20010,'You cant access the database!');
  > > > end if;
  > > > end;
  > > > /
  > > >
  > > > Eu executei ela e compilou sem erros.. porém não funciona hauhaua..
  > > >
  > > > no caso eu faço akele select normal, e ele dá o valor (se há outro
  > > usuário
  > > > logado com o mesmo nome, mas pc diferente, ele geralmente dá 1 ou 2 de
  > > > retorno)...
  > > > porém parece que o if da trigger nao tá legal, pois quando eu boto o
  > > mesmo
  > > > usuário em pcs diferentes ele não dá erro nenhum =(...
  > > >
  > > > alguem tem alguma ideia?
  > > >
  > > > Álisson
  > > >
  > > > [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]
  >
  >
  >
  > ------------------------------------
  >
  >
  > ----------------------------------------------------------
  > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
  > inteira responsabilidade de seus remetentes.
  > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
  >
  > ----------------------------------------------------------
  > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
  > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
  > http://www.oraclebr.com.br/
  > ----------------------------------------------------------
  > Links do Yahoo! Grupos
  >
  >
  >

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



  

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

Responder a