Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #103285
    Danielson
    Participante

      Ola pessoal,

      Temos uma aplicação que passou a travar muitas vezes por dia. Após reiniciar tais serviços o sistema volta a funcionar. Nada de anormal no alert.log. Até que em um momento o alert apontou que a tablespace undotbs01 estava com seu datafile cheio (seu tamanho era de 3GB / extend off). Adicionei outro datafile e cerca de 5 horas depois também encheu. O que pode estar acontecendo com a base? Alguma sugestão?

      Abraços a todos![/url]

      #103289
      rman
      Participante

        @Danielson

        A pergunta é o que está acontecendo no sistema e não na base. Foi desenvolvido alguma funcionalidade nova? Conseguiu identificar qual funcionalidade está sendo executada no momento?

        Tudo que não foi comitado fica no UNDO, feito o COMMIT as informações vão para os datafiles. Se o UNDO está crescendo muito, deve ser analisado como estão sendo feitos os COMMITS.

        #103296
        Danielson
        Participante

          @rman,

          Obrigado pela responta.
          Mas pensei no seguinte… Se os commits não estivessem sendo feitos, as informações também não deveriam ser salvas (?) Digo isso porque a aplicação roda localmente e fiz varios testes nesse sentido. Em uma estação insiro um novo registro, depois o consulto em outra estação.

          Minha suspeita ou o teste foi feito de maneira errada? Tem alguma sugestão sobre como poderia identificar se os commits estão ou não sendo executados?

          #103297
          rman
          Participante

            @Danielson

            Você conseguiu identificar qual funcionalidade que está sendo usada no momento do crescimento do UNDO ? Você tem acesso ao fonte do sistema para fazer um debug ?

            Se os dados estão sendo salvos concerteza o COMMIT está sendo realizado, mas isso não significa que está sendo feito de maneira correta, imagine uma procedimento que atualiza uma lista de preço de produtos baseado em uma regra de negocio, o procedimento tem que atualizar 100 milhões de produtos, se o procedimento gerar 100 milhões de update, ou seja, para cada produto foi realizado um UPDATE, se você deixar para fazer apenas 1 COMMIT no final do procedimento, concerteza o seu UNDO vai crescer, o mais adequado é gerar COMMIT a cada X produtos. Entendeu a ideia ?

            Provavelmente você testou uma tela de cadastro onde não existe o problema do COMMIT.

            #103366
            Danielson
            Participante

              Sim, entendi a idéia @rman.

              Infelizmente não pude debugar. Tive que contratar um DBA que ainda não me enviou o relatório do trabalho. Mas provavelmente o problema estava relacionado a sua análise.

              Mto obrigado pela atenção e pronta ajuda!

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