Como consertar blocos de índices corrompidos no tablespace SYSAUX

1

tivemos falha de energia que deixou corrupção nos arquivos de dados. Ele foi recuperado do backup do RMAN, incluindo logs e tudo está OK, o DB está funcionando ... exceto que notei isso:

RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE FILESPERSET=10;
...snip..
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
2    FAILED 0              24312        139056          71820306
  File Name: /u02/oradata/ORCL/datafile/o1_mf_sysaux_4kjcn4qg_.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              35222
  Index      101            39306
  Other      0              40216

Outros arquivos de dados estão todos OK. Agora a questão é: o que fazer com esses índices? Vou tentar (fora do horário de trabalho) fazer 'alter index ... reconstruir' para todos os índices em SYSAUX mas o AFAIK que não vai ajudar, derrubando e recriando os índices é necessário ... mas existe fonte SQL para recriá-los? É o Oracle 11.1.0.6 no Linux.

    
por Juraj 01.12.2009 / 11:33

2 respostas

1

"existe fonte SQL para recriá-los" Você pode usar DBMS_METADATA.GET_DDL para recuperar / reconstruir o SQL para reconstruir os índices. Uma consulta no DBA_SEGMENTS diria a você quais índices existem no SYSAUX.

    
por 01.12.2009 / 22:43
1

Existem duas outras verificações de corrupção que seria prudente executar, especialmente porque a validação do RMAN descobriu problemas:

a) dbverify

b) ANALISAR TABELA. VALIDAR CASCATA DA ESTRUTURA [ONLINE]

E sim, você precisaria recriar os índices envolvidos, uma reconstrução não funciona aqui.

    
por 17.07.2010 / 14:11