› Fóruns › Banco de dados Oracle › bloco corrompido. › bloco corrompido.
Mas fica a minha curiosidade, como devo operar nesta situação… como recupero o maximo da tabela e retiro os blocos corrompidos ??
Eu faria exatamente oque vc fez, criaria uma nova e renomearia a antiga para um nome que ninguem pudesse acesar. tipo TB_CRASH_TB_NAME.
E rodaria um analyze table validate sctructure para todas as tabela,
e um analyze compute statistics também para ver se tem mais alguma com corrupção.
Feito isso, essa tabela corrompida tentaria truncar ela, depois de truncada, droparia ela e analisária se viessem erros.
ou então deixaria ela quietinha, pois ela pode estár sob uma corrupção física do disco, garatindo assim que nenhum novo objeto as use.
A DBMS_REPAIR é bem complexa mas não faz mágica…
se vc descobrir o bloco , e datafile corrompido ela pode marcar somente esses blocos corrompidos como em desuso, tb garantindo a segurança da base.
caso vc não tivesse backup faria um create table as select cmo um filtro por data por exemplo ou na PK para ver quais as linhas corrompidas, e criaria uma nova excluindo essas linhas.
entendeu?
abraço.