ORA-08103: object no longer exists (l'objet n'existe plus)
OracleQue 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.
Autres entrées pour ce moteur
- ORA-01427single-row subquery returns more than one row (une sous-requête mono-ligne renvoie plusieurs lignes)
- ORA-12899value too large for column (valeur trop grande pour la colonne)
- ORA-30926unable to get a stable set of rows in the source tables (impossible d'obtenir un ensemble stable de lignes dans les tables source)
- ORA-01843not a valid month (mois invalide)
- ORA-14400inserted partition key does not map to any partition (la clé de partition insérée ne correspond à aucune partition)
- ORA-01536space quota exceeded for tablespace (quota d'espace dépassé pour le tablespace)
- direct path readAttente : session lisant des blocs directement dans la PGA en contournant le buffer cache