Pular para o conteúdo
  • Este tópico contém 10 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 4 meses atrás por jspaulonci.
Visualizando 11 posts - 1 até 11 (de 11 do total)
  • Autor
    Posts
  • #95491
    airoosp
    Participante

      Boa tarde,

      Pesquisei na internet sobre monitorar os usuários que estão fazendo login no banco e encontrei a trigger abaixo. A trigger foi criada no banco, não teve erro de compilação mas não grava informações na tabela de log.
      Falta alguma configuração a ser feita no banco para que a trigger funcione?

      CREATE OR REPLACE TRIGGER “LOGON_AUDIT_TRIGGER” AFTER LOGON ON DATABASE
      DECLARE
      sess number(10);
      prog varchar2(70);

      BEGIN

      IF user = ‘COMPRAS’ or user = ‘ALMOXARIFADO’ or user = ‘FINANCEIRO’ or user = ‘VENDAS’ THEN
      sess := sys_context(‘USERENV’,’SESSIONID’);

      SELECT program INTO prog
      FROM v$session
      WHERE audsid = sess
      and rownum<=1; INSERT INTO user_login_table VALUES ( user, sys_context('USERENV','HOST'), sys_context('USERENV','IP_ADDRESS'), sys_context('USERENV','OS_USER'), sys_context('USERENV','TERMINAL'), sys_context('USERENV','SESSIONID'), prog, sysdate); END IF; END; Obrigado. Airton

      #95492
      Ishii
      Participante

        Olá,

        Verifique se o dbms_standard está disponível. Se não tiver rode conectado como SYS $ORACLE_HOME/rdbms/admin/dbmsstdx.sql

        Se estiver, sugiro remover o IF e ver se funciona com qualquer usuário.

        []s Ishii

        #95494
        airoosp
        Participante

          Ishii,

          Para verificar se a DBMS_STANDARD esta disponível é consultar DBA_OBJECTS?

          Obrigado.

          Airton

          #95495
          Ishii
          Participante

            Olá

            Se você conseguir dar um DESC DBMS_STANDARD e retornar já significa que está disponível…

            []s Ishii

            #95498
            airoosp
            Participante

              Sim executei o desc que apareceu o conteúdo da package.

              #95499
              Ishii
              Participante

                Olá,

                Então mude a rotina removendo o IF para ver se o insert ocorre com qualquer usuário…

                []s Ishii

                #95500
                airoosp
                Participante

                  O IF foi retirado e não funcionou, nenhum registro gravado na tabela.

                  #95503
                  airoosp
                  Participante

                    Ishii,

                    Executei novamente /rdbms/admin/dbmsstdx.sql e não houve erro. Após isso recompilei os objetos e fiz o teste da trigger.

                    O problema continua nenhum registro é gravado em tabela, parece que a trigger não é executada.

                    Falta fazer alguma configuração no banco 9i?

                    Obrigado.

                    Airton

                    #95507
                    Ishii
                    Participante

                      Olá

                      Deixe sua trigger apenas com o insert removendo tudo inclusive a variável prog. Se funcionar assim, sabemos que a trigger de logon está funcionando. Então será necessário rever a lógica.

                      []s Ishii

                      #95508
                      airoosp
                      Participante

                        Ishii,

                        Descobri o problema, há um parâmetro chamado “_system_trig_enabled” que precisa estar configurado como TRUE para que as triggers de sistema funcionem.
                        Verifiquei e o mesmo estava como FALSE, foi modificado com alter system para TRUE e a trigger funcionou.
                        O interessante é que tentei alterar a trigger com o este parâmetro habilitado e não consegui. Foi alterado novamente para FALSE e consegui alterar a TRIGGER.
                        Será que é necessário desabilitar o parâmetro para poder mexer na trigger sem causar impacto caso algum usuário esteja fazendo o login no momento.

                        Obrigado.

                        Airton

                        #95519
                        jspaulonci
                        Participante

                          Olha, isso pra é novidade realmente não sabia disso,

                          Mas vamos por partes, pelo que eu entendi vc quer alterar a trigger e não está conseguindo ?

                          Que erro que dá ? tem que funcionar normal , não tem porque dar problema.

                        Visualizando 11 posts - 1 até 11 (de 11 do total)
                        • Você deve fazer login para responder a este tópico.
                        plugins premium WordPress