"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.
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.
"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.
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.
Tags oracle oracle-11g