DBAtlas · Atlas für Datenbankbetrieb

ORA-01466: unable to read data - table definition has changed

Oracle

Was bedeutet das?

Eine Abfrage, die Daten eines vergangenen Zeitpunkts liest (Flashback Query, AS OF oder Consistent Read), ist fehlgeschlagen, weil sich die Tabellendefinition (DDL) zwischen dem abgefragten Zeitpunkt und jetzt geändert hat. Oracle kann die Daten dieses Zeitpunkts mit der aktuellen Definition nicht sicher lesen.

Ursache

Nach dem Zeitstempel, auf den die Flashback-/AS-OF-Abfrage zielt, wurde eine DDL auf die Tabelle angewendet (Spalte hinzugefügt/entfernt, Typänderung). Auch Uhrzeitabweichungen zwischen Client und Server oder Abfragen der jüngsten Vergangenheit (wenige Sekunden) können wegen der SCN-/Zeitauflösung diesen Fehler auslösen.

Lösung

Führe die Flashback-Abfrage gegen einen Zeitpunkt/eine SCN vor der DDL-Änderung der Tabelle aus. Verwende nach Möglichkeit eine exakte SCN statt eines Zeitstempels (AS OF SCN). Gehe bei Abfragen der jüngsten Vergangenheit einige Sekunden zurück. Wird dauerhafter Zugriff auf historische Daten benötigt, erwäge statt DDL ein Design mit Versionierungs- oder Archivtabellen.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank