ORA-01466 unable to read data – table definition has changed
November 21, 2011 2 Comments
This is a time-based read consistency error, which may occur during flashbacking object.
For example, I was running the following statement:
SELECT text FROM dba_views AS OF TIMESTAMP to_timestamp('8-SEP-2011 6:14:35','DD-MON-YYYY HH24:MI:SS') ORA-01466: unable to read data - table definition has changed
Let’s check undo_retention parameter:
SQL> SELECT value/60/60 as Hours 2 FROM v$parameter 3 WHERE name='undo_retention'; HOURS --------- 3.02777777
So my retention period is 3hours…If I want to flashback object to before more than 3 hours I will get ORA-01466.
The retention period in my DB is set to default 15 minutes(900 seconds). But when trying to fetch data using AS OF SCN, it throws error “ORA-01466 unable to read data – table definition has changed” even the query executes withing 15 minutes. However the error doesn’t seem to be consistent. That is I am not able to reproduce the error. Kindly help me identify, what else could be the issue.
Hello,
Thank you for reading my blog…
This error means that during these 15 minutes you altered that table , so changed its definition, did you? Did you changed any column type of this table, or something like that?