Problema
Quando tentei apagar um registro com dados estranhos da base a seguinte mensagem me foi informada:
ORA-08102: index key not found, obj# 27063, file 6, block 65802
Causa
Pesquisando, descobri que esse erro é acontece devido ao índice estar corrompido no banco de dados.
Para descobrir qual o objeto em questão basta pesquisar na tabela de objetos especificando o numero do objeto corrompido, descrito na mensagem.
SELECT * from all_objects WHERE object_id=27063;
O resultado do select acima foi as informações do indice com o problema.
Solução
Solução 1
Para resolver o problema primeiramente tentei dar um rebuild no índice utilizando o seguinte comando:
ALTER INDEX index_name REBUILD;
Após a execução do rebuild tentei remover o registro mas não obtive sucesso.
Solução 2
Minha segunda abordagem foi apagar o índice mesmo, pois analisando o índice em questão verifiquei que era um índice auxiliar de FK, isso que dizer que o índice pode ser apagado e criado novamente.
DROP INDEX index_name;
Após apagar o índice foi possível remover o registro e depois disso recriei o índice com o script original.
Referencia:
http://forums.oracle.com/forums/thread.jspa?threadID=61877
Nenhum comentário:
Postar um comentário