- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 7 anos, 5 meses atrás por José Laurindo Chiappa.
-
AutorPosts
-
14 de junho de 2017 às 7:25 pm #108785Edgar Rombesso RisolaParticipante
Olá…
Tenho uma instância no Oracle 10g Enterprise que me gera o seguinte erro ao tentar fazer backup via rman no datafile system:RMAN-03009: failure of backup command on ORA_DISK_1 channel at 06/14/2017 12:22:46
ORA-19566: exceeded limit of 0 corrupt blocks for file /u1/oradata/sig/system/tssysd01.datos blocos corrompidos foram identificados mas não consegui repara-los….
É possivel um drop na tablespace/datafile system e recria-la?
Já corrigi esse mesmo erro na TEMP e UNDO recriando-as…mas…na SYSTEM é possível?Edgar
19 de junho de 2017 às 2:41 am #108788José Laurindo ChiappaModeradorBom, antes de responder uma observação : é *** CRUCIAL *** vc determinar a CAUSA dessa corrupção – pode ser disco/controladora falhando, pode ser bug em software (tanto drivers quanto sistema operacional quanto o próprio RDBMS Oracle), pode ser outro hardware falhando (caso típico é pentes de memória RAM, neguim sempre esquece que a informação lida do disco via de regra VAI SER PROCESSADA EM RAM, então se vc tiver qquer unidade de memória com falha é corrupção o provável resultado ao gravar a informação em disco, pode gravar algo diferente do que foi lido), há muitas possibilidades… ANtes de prosseguir vc TEM que descobrir a causa, pois senão hoje vc recupera a informação corrompida amanhã dá de novo a corrupção e vc tem que agir de novo, em resumo vc vai estar ‘correndo atrás do próprio rabo’ como se diz….
Muito bem : identificada (e ** SOLUCIONADA!!!** ) a causa da corrupção, fique *** CLARO **** que é Absolutamente Impossível vc dropar a tablespace SYSTEM : entenda que ela mantém/contém TODAS as informações internas necessárias para o funcionamento do database Oracle….
No caso, para vc recuperar a informação corrompida perdida a primeira opção é o RMAN, ** SE ** vc tiver um último backup íntegro E TODOS os archived redo log files necessários sem faltar nenhum até o momento atual , via BLOCK RECOVER cfrme mostrado em https://oracle-base.com/articles/misc/detect-and-correct-corruption#BMR , ou mesmo se for o caso vc pode restaurar os datafiles todos da tablespace SYSTEM e aplicar os redo logs de então até o momento atual cfrme https://therahuljain.quora.com/Recovering-Corrupted-SYSTEM-Tablespace ….Caso vc não tenha rigorosamente todos os archives desde o último backup íntegro, aí sim tuas opções vão ser mais limitadas : vão ser OU recuperar o último backup íntegro e aplicar os archives que vc tenha até onde puder (E provavelmente perder os dados referentes a DMLs que vc não tem o redo), OU (isso SE conseguir) exportar os dados e dropar + recriar esse database OU tentar marcar os blocos corrompidos como inacessíveis via DBMS_REPAIR (se der sorte de eles corresponderem a dados não-essenciais do database) cfrme https://oracle-base.com/articles/misc/detect-and-correct-corruption#DBMS_REPAIR ….
[]s
Chiappa
-
AutorPosts
- Você deve fazer login para responder a este tópico.