DBAtlas · Atlas d'exploitation des bases de données

ORA-08103: object no longer exists (l'objet n'existe plus)

Oracle

Que signifie cette erreur ?

Un objet (table, index, segment LOB) accédé par une requête en cours n'existe plus, ou sa structure physique a changé. Généralement, un DDL/TRUNCATE a eu lieu sur l'objet pendant l'exécution de la requête.

Cause

Le même objet a subi un TRUNCATE/DROP/SHRINK alors que la requête était ouverte ; déplacement (MOVE) ou maintenance de partition ; index/segment corrompu ; disparition de la structure sous-jacente pendant l'accès à un segment LOB ; conflit avec un DDL concurrent.

Comment la corriger

Vérifiez que l'objet existe toujours et est valide : SELECT status FROM user_objects WHERE object_name = 'NAME'; Reconstruisez l'index/l'objet concerné (REBUILD) ou relancez la requête. Évitez TRUNCATE/DROP sur des objets pendant que des requêtes de longue durée les utilisent. En cas de suspicion de corruption, vérifiez avec ANALYZE ... VALIDATE STRUCTURE.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur