Pular para o conteúdo
Visualizando 15 posts - 1 até 15 (de 21 do total)
  • Autor
    Posts
  • #85243
    Avatar de mpvargasmpvargas
    Participante

      Caros Amigos,
      Após algumas alterações no banco, o processo LGWR está bloqueando outras sessões e o commit também está demorando um pouco. Com isso o wait do servidor aumentou consideravelmente.
      ADDM => Waits on event “log file sync” while performing COMMIT and ROLLBACK operations were consuming significant database time.
      Meu redo log era de 5 grupos de 150Mb, aumentei para 300Mb e bloqueava as sessões toda hora… agora coloquei 200Mb e melhorou bastante com relação a esses bloqueios.
      O que eu devo fazer, colocar um valor bem alto, tipo 1Gb ou reduzir para uns 50Mb?
      Obrigado pela ajuda.

      #85245
      Avatar de Ricardo Portilho ProniRicardo Portilho Proni
      Participante

        Se a mensagem “Checkpoint not complete” estiver aparecendo no seu alert log, aumente os REDOs em quantoidade e tamanho até a mensagem não aparecer mais.
        Se o problema continuar, você precisa colocar seus REDOs em um I/O mais rápido e separado.

        #85247
        Avatar de vierivieri
        Participante

          O parâmetro log_buffer deve ser proporcional
          ao tamanho dos redos.

          Não adianta aumentar o redo e manter o log_buffer pequeno.
          aumente ele também.

          Veja bem não adiandata ter uma caixa enorme se a sua
          fila tem uma portinha muito pequena.

          verifique o parâmetro log_checkpoints_to_alert também,
          para poder verificar oque o portilho falou que é correto.

          basicamente são essas 3 variaveis que influenciam na performance

          #85248
          Avatar de mpvargasmpvargas
          Participante

            Ricardo,
            Ontem a noite eu recebi essa mensagem

            Tue Feb 10 20:32:17 2009
            Thread 1 cannot allocate new log, sequence 2865
            Checkpoint not complete
            Current log# 5 seq# 2864 mem# 0: /u01/app/oracle/oradata/asoec/redolog/redo5.log

            Mas hoje essa mensagem não apareceu…

            Quanto a mudar a localização dos redos não tenho como fazer porque a máquina está em RAID 5 somente com a partição /

            Vieri,
            Posso aumentar o log_buffer com o banco em produção ou tenho que parar a instancia?

            Parâmetro log_checkpoints_to_alert = FALSE

            #85249
            Avatar de mpvargasmpvargas
            Participante

              Recebi o seguinte erro:
              ORA-01555 caused by SQL statement below

              Parece que algo relacionado ao redo log, certo?

              #85254
              Avatar de Ricardo Portilho ProniRicardo Portilho Proni
              Participante

                ORA-01555 é falta de UNDO.
                Aumente o UNDO.

                Aumentar o log_buffer dificilmente te trará ganho de performance.
                Ele sempre é esvaziado no máximo a cada CHECKPOINT, que é no máximo a cada 3 segundos.

                #85257
                Avatar de mpvargasmpvargas
                Participante

                  Coloquei mais um arquivo de 200MB… até agora não recebi nenhuma mensagem, mas continua aparecendo em sessões bloqueadoras.
                  Agora está com 6 grupos de 200MB.

                  Existe algum parametro para tornar o COMMIT mais rápido?

                  Minha tablespace de UNDO é 10GB, será que estourou esse espaço?

                  Pelo que eu li, não sei se estou certo, o log_buffer tem que ser no máximo 1MB, porque qualquer valor além disso é irrelevante. Não sei se entendi direito mas existe uma grande discussão a respeito desse parâmetro com várias opiniões diferentes.
                  Eu uso SGA_Target e o log_buffer está 14,1MB.
                  O que eu não entendo é o porque do Oracle ter feito uma revisão nesse parametro no EM, passando de 14294016 para 14302208

                  #85258
                  Avatar de Ricardo Portilho ProniRicardo Portilho Proni
                  Participante

                    Pelo que vc falou, REDO em RAID5, junto com o banco todo, é seu problema de I/O.

                    #85261
                    Avatar de Ricardo Portilho ProniRicardo Portilho Proni
                    Participante

                      Sim, seu espaço de UNDO estourou, pode aumentar ele…
                      O que você pode tentar é usar grupos de REDO com apenas um membro, serão menos gravações.
                      É só tomar cuidado para não apagar nenhum dos membros restantes. 🙂

                      #85268
                      Avatar de mpvargasmpvargas
                      Participante

                        Ricardo,
                        Com relação ao I/O acho que vamos solucionar o problema brevemente com a chegada do novo servidor. O que temos atualmente, quando compraram, não me consultaram, aí quando eu fui configurar a máquina não teve jeito. Dessa vez vamos colocar RAID 10 e HDs separados para gravação dos logs.
                        Vou aumentar minha tablespace de UNDO para uns 15Gb.
                        Com relação aos grupos de redo, na verdade eu tenho 6 grupos sendo que cada um tem somente um arquivo. Seria interessante eu criar mais grupos? Até quantos grupos posso criar?

                        Obrigado pela ajuda.

                        #85269
                        Avatar de mpvargasmpvargas
                        Participante

                          Uma observação.
                          Minha tablespace de UNDO está com 10GB e com a opção de autoincremento de 100MB até o limite de 32GB.
                          Será que estorou o limite de 32GB?

                          #85271
                          Avatar de Ricardo Portilho ProniRicardo Portilho Proni
                          Participante

                            Se a mensagem não aparece mais no alert log, não vai ajudar aumentar o número de REDOs.
                            Se sua tablespace de UNDO está com 10GB, ainda não cresceu até 32. Você está usando 10g, com undo automático?

                            #85272
                            Avatar de Ricardo Portilho ProniRicardo Portilho Proni
                            Participante

                              Se seu UNDO está automático, aumente o UNDO_RETENTION para evitar o ORA-01555.

                              #85273
                              Avatar de mpvargasmpvargas
                              Participante

                                Aumentei o UNDO_RETENTION para 1500.
                                Vou observar para ver se a mensagem não aparece mais.
                                Obrigado.

                                #85277
                                Avatar de mpvargasmpvargas
                                Participante

                                  Caro Ricardo,
                                  Ontem voltei a receber o erro ORA-01555. Tem mais alguma coisa que eu posso alterar?
                                  Poderia me ajudar num outro detalhe. Deixamos alguns processos rodando a noite, eu tenho como saber através de gráfico ou outra forma, como foi o comportamento da máquina a nível de processo?
                                  Obrigado.

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