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]