DBAtlas · Atlas de operações de banco de dados

ORA-08103: object no longer exists

Oracle

O que significa?

Um objeto (tabela, índice, segmento LOB) acessado por uma consulta em execução não existe mais, ou sua estrutura física mudou. Geralmente ocorreu um DDL/TRUNCATE sob o objeto enquanto a consulta estava em andamento.

Por que acontece?

O mesmo objeto sofreu TRUNCATE/DROP/SHRINK enquanto a consulta estava aberta; uma movimentação (MOVE) ou manutenção de partições; um índice/segmento corrompido; a estrutura subjacente desaparecendo enquanto um segmento LOB é acessado; um conflito com DDL concorrente.

Como resolver

Verifique se o objeto ainda existe e é válido: SELECT status FROM user_objects WHERE object_name = 'NAME'; Reconstrua o índice/objeto correspondente (REBUILD) ou execute a consulta novamente. Evite TRUNCATE/DROP em objetos enquanto consultas de longa duração os utilizam. Se houver suspeita de corrupção, verifique com ANALYZE ... VALIDATE STRUCTURE.

Abrir no DBAtlas →

Mais entradas deste banco