DBAtlas · Atlas de operações de banco de dados

ORA-01466: unable to read data - table definition has changed (não é possível ler os dados; a definição da tabela mudou)

Oracle

O que significa?

Uma consulta que lia dados de um ponto no passado (Flashback Query, AS OF ou leitura consistente) falhou porque a definição da tabela (DDL) mudou entre o momento passado consultado e agora. O Oracle não consegue ler com segurança os dados daquele momento com a definição atual.

Por que acontece?

Um DDL (adição/remoção de coluna, mudança de tipo) foi aplicado à tabela após o timestamp visado pela consulta Flashback/AS OF. Além disso, diferenças de relógio entre cliente e servidor ou consultas a um passado muito recente (alguns segundos) podem gerar este erro devido à resolução de SCN/tempo.

Como resolver

Execute a consulta flashback para um momento/SCN anterior à mudança de DDL da tabela. Sempre que possível, use um SCN exato em vez de um timestamp (AS OF SCN). Para consultas a um passado muito recente, volte alguns segundos. Se for necessário acesso histórico permanente, considere um design de tabela de versionamento ou de arquivo em vez de DDL.

Abrir no DBAtlas →

Mais entradas deste banco