Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #103124
    Doug
    Participante

      Bom Dia Pessoal.

      Oracle – 10.2.0.5
      Ambiente – RAC
      S.O – RedHat

      Estou precisando de um help.

      Seguidamente em meu alert do nó 1 tenho constatado o erro ORA-1555.

      Até mesmo já aumentei a retenção da undo, mas o erro persiste. Hoje o mesmo ocorreu por volta de 4 a.m…logo na execuçao do bkp…

      INST_ID NAME VALUE
      1 undo_management AUTO
      1 undo_tablespace UNDOTBS1
      1 undo_retention 1500
      2 undo_management AUTO
      2 undo_tablespace UNDOTBS2
      2 undo_retention 1500


      Tue Mar 20 04:34:56 BRT 2012
      ORA-01555 caused by SQL statement below (SQL ID: gt3h9v12f8bps, Query Duration=0 sec, SCN: 0x0a0a.b5b6da61):
      Tue Mar 20 04:34:56 BRT 2012
      SELECT "A4"."USER_UNF_ID",TO_CHAR("A4"."DT_REL_DIARIO",:"SYS_B_00"),SUM(CASE WHEN ("A3"."TP_SERVICO"<>:"SYS_B_01" AND "A3"."TP_SERVICO"<>:"SYS_B_02" AND ("A1"."CD_ESPECIE"=:"SYS_B_03" OR "A1"."CD_ESPECIE"=:"SYS_B_04" OR "A1"."CD_ESPECIE"=:"SYS_B_05" OR "A1"."CD_ESPECIE"=:"SYS_B_06" OR "A1"."CD_ESPECIE"=:"SYS_B_07" OR "A1"."CD_ESPECIE"=:"SYS_B_08" OR (("A1"."CD_ESPECIE"=:"SYS_B_09" OR "A1"."CD_ESPECIE"=:"SYS_B_10") AND ("A3"."TP_SERVICO"=:"SYS_B_11" OR "A3"."TP_SERVICO"=:"SYS_B_12" OR "A3"."TP_SERVICO"=:"SYS_B_13" OR "A3"

      Alguem ja passou por esse problema ?

      [ ] ´s

      #103126
      rman
      Participante

        @Doug

        O backup que você está se referindo é um EXPDP ou RMAN? Estou supondo que é EXPDP…

        O ora-01555 pode ser resolvido de 2 formas: configurando o undo_retention ou tamanho de undo.

        Para descobrir se deve aumentar o undo_retention ou a undo segue um artigo:

        http://www.oraclehome.com.br/2011/09/02 … ot-to-old/

        #103127
        Doug
        Participante

          Blz rman…Com relação ao bkp so quis explanar que a bendita query foi executada na hora do mesmo…nao significa que o problema seja no bkp..hehhe..durante o dia tbm tive esses mesmos erros…vou dar uma lida no artigo….

          [ ] ´s

          #103128
          Doug
          Participante

            Ate executei o script que me trouxe que houve erro, mas nao é de espaço…

            select inst_id,
            to_char(begin_time, 'MM/DD/YYYY HH24:MI') begin_time,
            UNXPSTEALCNT as "# UnexpiredStolen",
            EXPSTEALCNT as "# ExpiredReused",
            SSOLDERRCNT as "ORA-1555Error",
            NOSPACEERRCNT as "Out-Of-spaceError",
            MAXQUERYLEN as "Max QueryLength"
            from gv$undostat
            where begin_time between
            to_date('20/03/2012 04:20', 'DD/MM/YYYY HH24:MI:SS') and
            to_date('20/03/2012 04:30', 'DD/MM/YYYY HH24:MI:SS')
            order by inst_id, begin_time;

            Resultado :


            INST_ID BEGIN_TIME # UnexpiredStolen # ExpiredReused ORA-1555Error Out-Of-spaceError Max QueryLength
            1 1 03/20/2012 04:26 0 0 1 0 0
            2 2 03/20/2012 04:26 0 0 0 0 0

            #103129
            rman
            Participante

              @Doug

              Tem que aumentar o undo_retention mesmo. Configura pra 45 minutos, se continuar configura pra 60.

              #103130
              Doug
              Participante

                Blz…vou aumentar para 45 e monitorar …

                [ ] ´s

                #103149
                Avatar photoRegis Araujo
                Participante

                  @Doug
                  @rman

                  Bom dia..!!

                  Senhores.. desculpa me intrometer.. Mas mesmo que você aumente o tempo de retenção pelo parametro undo_retention, não quer dizer que o Oracle ira armazenar a imagem do bloco alterado por este tempo o oracle somente irá garantir esta copia do bloco se a opção GUARANTEE estiver habilitada na tablespace de undo.. por default ela é NOGUARANTEE… E com a opção de retention como NOGUARANTEE, mesmo que você sete o undo_retention para 24 horas.. se o oracle precisar usar o espaço na tablespace de undo, ele irá usar antes das 24 horas.. O undo_retention sem o GUARANTEE diz ao Oracle que se ele tiver espaço, deverá manter a imagem do bloco por 24 horas.. mas se precisar usar.. ele poderá usar…!!!

                  Mas tenho um certo receio em ficar setando o parametro undo_retention para um valor “elevado”, pois se sua base possuir muitas transações DML e o switch for muito alto entre os redos online.. devido ao parametro undo_retention estar setado para um valor “alto” e a opção GUARANTEE estiver setada, seu banco pode simplesmente parar, pois devido a necessidade do banco alocar o espaço na tablespace de undo e ele não poder ser liberado devido a “garantia” exigida, assim você terá problemas..

                  Mas mesmo com o undo_retention setado para um valor baixo, a imagem do bloco alterado pode ficar guardada na tablespace de undo por um bom tempo, até alem do periodo de retenção.. isto pode ocorrer se no seu banco não houver tantas transações DML, se o seu banco for altamente transacional, sugiro aumentar o tamanho os grupos de redo online, assim você garante um melhor desempenho do seu banco e até mesmo das leituras consistentes.. lembrando que por default o undo_retention é de 3600 segundos (1hora).

                  Normalmente, repito, normalmente… Snapshot Too Old não é problema de banco de dados, é problema de aplicação, onde a aplicação não foi desenhada corretamente para poder ler os dados com rapidez.. mas sempre é bom investigar por qual motivo o processo está demorando.. as vezes um plano errado pode provocar isto..

                  Sugiro também verificar qual o plano de execução do procedimento.. assim você terá mais informações.. pois se somente olhar para a undo, você pode estar “tapando o sol com a peneira”.

                  Bom.. desculpa me intrometer novamente.. esta é minha opinião e sugestão..!!!

                  Abraços..!

                  #103166
                  rman
                  Participante

                    @Thunder_Catz

                    Bacana do detalhe da opção GUARANTEE. Já recebi o ORA-01555 no expdp, neste caso não tem o que fazer, ou aumenta o undo ou o undo_retention.

                    Mas no caso de um query do sistema tem que otimizar a query. Mas nem sempre é possível fazer isso, ainda mais quando o sistema é terceirizado. Mas realmente o problema está na aplicação.

                    Ah, o default do undo_retention tanto no 10g e no 11g é 900 segundos (15 minutos).

                    #103179
                    Doug
                    Participante

                      Intrometer ? Imagina

                      Realmente aumentei o valor mas nao adiantou…O problema é de apps mesmo…como ninguem reclamou irei aguardar…

                      abs

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