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

ORA-01466: unable to read data - table definition has changed (lecture des données impossible : la définition de la table a changé)

Oracle

Que signifie cette erreur ?

Une requête lisant des données d'un instant passé (Flashback Query, AS OF ou lecture cohérente) a échoué car la définition de la table (DDL) a changé entre l'instant passé interrogé et maintenant. Oracle ne peut pas lire en toute sécurité les données de cet instant avec la définition actuelle.

Cause

Un DDL (ajout/suppression de colonne, changement de type) a été appliqué à la table après l'horodatage visé par la requête Flashback/AS OF. Par ailleurs, des écarts d'horloge entre client et serveur ou des requêtes sur un passé très récent (quelques secondes) peuvent lever cette erreur en raison de la résolution SCN/temps.

Comment la corriger

Exécutez la requête flashback sur un instant/SCN antérieur au changement DDL de la table. Lorsque c'est possible, utilisez un SCN exact plutôt qu'un horodatage (AS OF SCN). Pour les requêtes sur un passé très récent, reculez de quelques secondes. Si un accès historique permanent est nécessaire, envisagez une conception avec versionnement ou table d'archive plutôt que du DDL.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur