Pular para o conteúdo
  • Este tópico contém 11 respostas, 5 vozes e foi atualizado pela última vez 15 anos, 8 meses atrás por Rodrigo Almeida.
Visualizando 12 posts - 1 até 12 (de 12 do total)
  • Autor
    Posts
  • #89774
    armandoveloso
    Participante

      Ola todos,

      banco 10GR2 apresentando erro de bloco corrompido:

      Errors in file /u01/app/oracle/admin/BD1/bdump/bd1_j001_3680.trc:
      ORA-01578: ORACLE data block corrupted (file # 3, block # 3071)
      ORA-01110: data file 3: ‘/u01/oradata/BD1/sysaux01.dbf’

      Executei a consulta abaixo, que peguei pronta na internet, não sei se ta correta mesmo para o que preciso, tendo como parametro o file 3 e o block 3071, mas taí ela e o resultado:

      SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE
      FROM DBA_EXTENTS
      WHERE FILE_ID = 3
      AND 3071 BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS – 1;

      OWNER SEGMENT_NAME SEGMENT_TYPE
      ——— —————————– ——————-
      SYS WRH$_OPTIMIZER_ENV TABLE

      Procurei aqui mesmo no forum algum topico relacionado e encontrei.
      Vi sobre o RMAN, mas nao o uso e nao tenho conhecimento. Backup que eu uso é o ONLINE, e mesmo assim esse erro ja tem bem 1 mês que aparece…

      Tambem nesse topico sugeriram usar o DBMS_REPAIR e/ou o DBVERIFY.
      Nunca usei os dois…

      Na internet ja li tambem que pode ser ate erro de memoria RAM!

      Alguem sabe do que se trata essa tabela?
      Se fosse um indice acho que a saída seria mais simples, recriando-o, mas como é uma tabela… e ainda mais do SYS, nao sei bem o que fazer…

      o DBMS_REPAIR marca o bloco corrompido para que nao seja mais utilizado?

      Obrigado!

      #89796
      Rodrigo Almeida
      Participante

        Armando,

        Se o banco de dados for 10g, o mais recomendado e o que irá funcionar seria a utilização do BMR do RMAN.

        Como na nova arquitetura 10g, existem duas possibilidades de corrupção de blocos, física e lógica (Fraturada), o DBMS_REPAIR e DBVERIFY não será uma boa utilização, pois mesmo aparecendo no resultado do DBMS_REPAIR que o bloco foi marcado como SKIP, ele continuará apresentando problemas, pois será corrupção lógica.

        BOM! Existe algumas coisas que podemos iniciar, tais como aprender RMAN agora! heheheheheh…

        Algumas tarefas boas para iniciar:

        1) Pegar os backups dos archives desde que começo o erro, e realizar um crosscheck com RMAN. Pois eles serão necessários.

        2) Validar o banco de dados, com BACKUP VALIDATE CHECK LOGICAL DATABASE, no RMAN.

        3) Verificar a tabela v$corrupt_block_database;

        E ir postando os resultados para nós.

        Abraços,

        Rodrigo Almeida

        #89802
        David Siqueira
        Participante

          Armando, como vai?

          Veja se isso te ajuda :

          http://databaseguard.blogspot.com/2009/08/rman-bmr-block-media-recover.html
          Abraço!!!

          #89807
          armandoveloso
          Participante

            Carissimos Rodrigo e David,

            realmente nunca usei RMAN, vou aprender…
            mas infelizmente não tenho backups feitos pelo RMAN dessa base!
            E se for corrupção lógica, pelo que entendi nem com o DBMS_REPAIR vou conseguir corrigir esse problema…

            🙁

            Queria saber mais sobre essa tabela que ta com bloco corrompido, pois como não é tabela da base de dados, talvez eu pudesse recria-la… ou tentar fazer export, instalar uma base nova e assim um import da base.

            Valeu pela ajuda!
            Armando.

            #89808
            David Siqueira
            Participante

              Armando, neste caso vocÊ terá de aceitar uma possível perda de dados, porque se houver corrupção no segmento pode ser que na hora do EXPORT ele não consiga estrair todos os dados desta tabela, portando você salvará apenas os dados até onde o EXPORT conseguir ler de maneira integra os blocos que envolvem esse segmento.

              Uma outra opção seria tentar restaurar via Backup Lógico o restante dos dados faltantes , depois de você ter recuperado o que foi possivel, mais isso com certeza geraria uma bagunça muito grande com relação as demais tabelas, se possivel crie uma cópia desse objeto em outro Owner por segurança, restaure do seu backup Lógico essa tabela, faá uma comparação dos dados que faltam e monte um processo para inserir o conteudo todo na tabela novamente.

              Acredito que assim dê pra “sanar” este problema, mais vai aqui uma dica , implemente RMAN no seu ambiente o quanto antes.

              Abraço

              #89809
              Rodrigo Almeida
              Participante

                Armando,

                RMAN para você será facinho! O ideal é começar a fazer um backup em RMAN para vermos como resolver esse problema.

                No RMAN, execute o seguinte backup e poste os resultados.

                RMAN> connect target /

                RMAN>backup validate check logical database;

                POSTE O LOG PARA nòs!

                Depois,

                Volte os seus archives desde que iníciou a corrupção do bloco de dados, quando voltar, execute esse comando no RMAN.

                RMAN> crosscheck backup of archivelog;

                E poste o resultado do comando abaixo para nós.

                RMAN> list backup of archivelog;

                RMAN> list backup of database summary;

                RMAN> report schema;

                RMAN> list incarnation of database;

                Abraços,

                #89826
                jspaulonci
                Participante

                  Estou engatinhando ainda no RMAN, não sei se felizmente ou infelizmente mas já tive bloco corrompido em ambiente de homologação / desenvolvimento , o administrador Unix foi adicionar um disco e formatou um dos discos da ASM.

                  A solução nesse caso foi refazer todo o ambiente e voltar um expdp.

                  Esse objeto é sys, ele é uma view, obviamente está fazendo referência a uma tabela, siga as intruções do Rodrigo, o DRBS tem razão quanto ao backup lógico, se seu fosse você eu tentaria fazer um export lógico owner por owner, rezar para dar certo (ou seja..rezar para o Oracle não ler esse segmento no momento do backup lógico) , aí você dropa a base e reconstroi ela.

                  Abraços

                  #89828
                  armandoveloso
                  Participante

                    Oi Joao,
                    ja ia colocar aqui o que fiz…

                    Pensei exatamente isso, e como a base é pequena e a noite a empresa nao funciona, ontem parei o banco e criei um novo banco com um nome novo, na mesma maquina. O export/import deu tudo (quase) beleza, apenas dois indices nao criaram durante o import, mas os criei depois manualmente sem problemas.

                    O trabalho nesse momento é alterar o SID no tnsnames das maquinas, mas felizmente, parece que esta tudo em ordem!

                    Quanto as boas dicas do Rodrigo, vao ser úteis pra nós que nao conhecemos ainda o RMAN! Pra quem tem pouca ou nenhuma experiencia em RMAN, como eu, vou tratar de criar uma base de testes e testar o que eu puder…

                    Obrigado a todos pela ajuda!

                    #89832
                    jspaulonci
                    Participante

                      O RMAN está bem melhor do que em relação ao 8i, use-o sim ele é bem interessante, mas implemente também o backup lógico (expdp) como sua base é pequena , as vezes é mais fácil voltar uma tabela do dmp do que pelo RMAN.

                      Parabens pelo trabalho, great job…fantastic job….!!!! kkkk

                      abraços

                      Spaulonci

                      #89838
                      vieri
                      Participante

                        Como a base não era tão grande e você tinha uma janela(madrugada)
                        apoio a sua solução.

                        Vc uso o que domina no momento exp/imp
                        e resolveu um problema.

                        Esse é o esquema resolver os problemas usando o que sabe,
                        e estudar cada vez mais, para otimizar as soluções.

                        Parabéns pelo desfecho com export/import.

                        []s

                        #89846
                        armandoveloso
                        Participante

                          😀

                          #89854
                          Rodrigo Almeida
                          Participante

                            Pelo menos agora parou os Milhões de Archives… kkkkkkkkk

                            Parábens Armando, fez bem, se tinha janela para fazer essa manobra, fez de acordo com os conhecimentos e técnica.

                            Abraços,

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