Pular para o conteúdo
  • Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 13 anos atrás por Ricardo Portilho Proni.
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #104893
    Luislivelli
    Participante

      Bom dia pessoal, no alert log de uma BBDD esta aparecendo o mensage “checkpoint not completed”, aumentando o tamnaho dos redo online, poderia solucionar o problema?

      Segue um pedaço do alert log:

      Clearing Resource Manager plan via parameter
      Current log# 1 seq# 18922 mem# 1: /u02/oradata/cadu/redo01a.rdo
      Thread 1 advanced to log sequence 18922 (LGWR switch)
      Current log# 1 seq# 18922 mem# 0: /u01/app/oracle/oradata/cadu/redo01.log
      Current log# 3 seq# 18921 mem# 0: /u01/app/oracle/oradata/cadu/redo03.log
      Current log# 3 seq# 18921 mem# 1: /u02/oradata/cadu/redo03a.rdo
      Thread 1 advanced to log sequence 18921 (LGWR switch)
      Current log# 2 seq# 18920 mem# 1: /u02/oradata/cadu/redo02a.rdo
      Thread 1 advanced to log sequence 18920 (LGWR switch)
      Current log# 2 seq# 18920 mem# 0: /u01/app/oracle/oradata/cadu/redo02.log
      Current log# 1 seq# 18919 mem# 1: /u02/oradata/cadu/redo01a.rdo
      Checkpoint not complete
      Current log# 1 seq# 18919 mem# 0: /u01/app/oracle/oradata/cadu/redo01.log
      Thread 1 cannot allocate new log, sequence 18920
      Current log# 1 seq# 18919 mem# 0: /u01/app/oracle/oradata/cadu/redo01.log
      Current log# 1 seq# 18919 mem# 1: /u02/oradata/cadu/redo01a.rdo
      Thread 1 advanced to log sequence 18919 (LGWR switch)
      Current log# 3 seq# 18918 mem# 1: /u02/oradata/cadu/redo03a.rdo
      Current log# 3 seq# 18918 mem# 0: /u01/app/oracle/oradata/cadu/redo03.log
      Checkpoint not complete
      Thread 1 cannot allocate new log, sequence 18919
      Current log# 3 seq# 18918 mem# 0: /u01/app/oracle/oradata/cadu/redo03.log
      Current log# 3 seq# 18918 mem# 1: /u02/oradata/cadu/redo03a.rdo
      Thread 1 advanced to log sequence 18918 (LGWR switch)
      Current log# 2 seq# 18917 mem# 0: /u01/app/oracle/oradata/cadu/redo02.log
      Current log# 2 seq# 18917 mem# 1: /u02/oradata/cadu/redo02a.rdo
      Thread 1 advanced to log sequence 18917 (LGWR switch)
      Current log# 1 seq# 18916 mem# 0: /u01/app/oracle/oradata/cadu/redo01.log
      Current log# 1 seq# 18916 mem# 1: /u02/oradata/cadu/redo01a.rdo
      Checkpoint not complete
      Thread 1 cannot allocate new log, sequence 18917
      Current log# 1 seq# 18916 mem# 0: /u01/app/oracle/oradata/cadu/redo01.log
      Current log# 1 seq# 18916 mem# 1: /u02/oradata/cadu/redo01a.rdo
      Thread 1 advanced to log sequence 18916 (LGWR switch)

      Agradeço pelo ajuda!!!

      #104895
      Fábio Prado
      Participante

        @Luislivelli,

        Me parece que estão ocorrendo switch logs com uma frequência altíssima. Veja a configuração dos parâmetros archive_lag_target e fast_start_mttr_target. Se os valores deles estiverem diferente de zero, eles podem estar influenciando no problemas. Tente aumentar o valor daquele que estiver diferente de zero e veja se o problema diminui ou desaparece, ok?

        Att,

        Fábio Prado
        http://www.fabioprado.net

        #104899
        Luislivelli
        Participante

          Boa tarde Fábio, antes de tudo agradeço pelo atenção, segue os valores dos dois parametros que mencionou

          SQL> show parameters archive_lag_target;
          NAME TYPE VALUE


          archive_lag_target integer 0

          SQL> show parameters fast_start_mttr_target;
          NAME TYPE VALUE


          fast_start_mttr_target integer 0

          Os dois parametros estao com value 0 significa que não estans endo usados, certo?

          #104900
          Fábio Prado
          Participante

            @Luislivelli,

            Os parametros nao estao sendo usados. Confirme no alert.log se realmente estão ocorrendo muitos switch logs em um curto espaço de tempo. Se isso estiver ocorrendo, sugiro que você aumente o tamanho dos redo logs. Procure algum roteiro na internet ou site da Oracle e siga, só tome cuidado para não parar o BD, se ele for de produção! Esse procedimento é bastante perigoso!

            []s

            Fábio Prado
            http://www.fabioprado.net

            #104901
            Victor Armbrust
            Mestre

              Estes alertas estão relacionados ao tempo de log switch/checkpoint no banco de dados. Quando este tempo é alto, estes alertas podem acontecer.

              Validações a se fazer:
              – São todas as sessões ou algumas que gastam tempo alto para um log switch;
              – Verificar e o tempo do wait event “log file parallel write” é alto ou ocorre com frequencia
              – Garanta que seus log switchs ocorram em média 12x por hora (isso é uma regra padrão, há excessões)
              – Garanta pelo menos 3 redologs groups

              Recomendações
              -deixe o parâmetro archive_lag_target setado para 0 (default)
              Validar os parametros
              – FAST_START_MTTR_TARGET
              – LOG_CHECKPOINT_INTERVAL
              – LOG_CHECKPOINT_TIMEOUT
              – LOG_CHECKPOINTS_TO_ALERT
              – Observe seu local de armazenamento do crontolfile / redolog files.
              – validar gaps/gargalos/contenções em disco para estes itens acima

              Um teste: Execute: “alter system checkpoint” e verifique o tempo para conclusão deste comando assim como os eventos de espera neste momento.

              Notes que sugiro vc verificar:

              • Checkpoint Not Complete In Alert.log Due To Setting Of Archive_lag_target [ID 435780.1]
              • Resolving Issues Where ‘Log file switch (checkpoint incomplete)’ Waits Seen due to Checkpointing for that Log Not Having Completed [ID 1476491.1]
              • Checkpoint Tuning and Troubleshooting Guide [ID 147468.1]

              Enfim, pode-se fazer uma séria de validações neste cenário. Eu já passei inúmeras vezes por isso, na maioria delas, o problema estava relacionado a contenções em disco.

              Verifique também este artigo:
              https://www.profissionaloracle.com.br/gp … llel-write

              Abs
              Victor

              #104910
              Ricardo Portilho Proni
              Participante

                Aumente seus Redo Logs em tamanho e/ou quantidade (tanto faz 10 x 1GB ou 5 x2Gb, por exemplo), até a mensagem ficar rara. Ou mais precisamente, até que o evento “log file switch *” não seja relevante para o período analisado.
                Não há absolutamente nenhum perigo em adicionar Redo Logs. Aumenta-los não é possível, só removendo e adicionando.

                Para adicionar um Redo Log: ALTER DATABASE ADD LOGFILE ‘/u01/blablabla/REDO04.LOG’ SIZE 1GB.

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