ORA-01466: unable to read data - table definition has changed (no se pueden leer los datos; la definición de la tabla ha cambiado)
Oracle¿Qué significa?
Una consulta que lee datos de un momento pasado (Flashback Query, AS OF o lectura consistente) falló porque la definición de la tabla (DDL) cambió entre el momento pasado consultado y ahora. Oracle no puede leer de forma segura los datos de ese momento con la definición actual.
¿Por qué ocurre?
Se aplicó un DDL (añadir/eliminar una columna, cambio de tipo) a la tabla después de la marca de tiempo a la que apunta la consulta Flashback/AS OF. Además, las diferencias de reloj entre cliente y servidor o las consultas de un pasado muy reciente (unos segundos) pueden generar este error por la resolución SCN/tiempo.
Cómo solucionarlo
Ejecute la consulta flashback contra un momento/SCN anterior al cambio DDL de la tabla. Siempre que sea posible, use un SCN exacto en lugar de una marca de tiempo (AS OF SCN). Para consultas de un pasado muy reciente, retroceda unos segundos. Si se necesita acceso histórico permanente, considere un diseño de versionado o una tabla de archivo en lugar de DDL.
Más entradas de este motor
- ORA-00494enqueue held for too long by 'inst N, osid M' (enqueue retenido demasiado tiempo)
- ORA-04021timeout occurred while waiting to lock object (timeout al esperar el bloqueo de un objeto)
- ORA-04061existing state of package/procedure has been invalidated (se invalidó el estado existente del package/procedimiento)
- ORA-08176consistent read failure; rollback data not available (fallo de lectura consistente; datos de rollback no disponibles)
- ORA-00020maximum number of processes (N) exceeded (se superó el número máximo de procesos (N))
- ORA-01113file N needs media recovery
- ORA-02393exceeded call limit on CPU usage