Missing data
Posted in 2009
I would like to know if someone ever met such a strange behavior:
I recently transferred all the data of my 9.40 production instance to a
newly prepared 9.40 instance.
The goal was to reduce the number of extents that was above 200 for the
biggest tables.
We used scripts to insert from one instance to the other one. (insert to
destination from select * from source).
After the restore on the production instance, we noticed that the number of
rows was different on a few tables.
So I investigated and it was possible compare the instance before and after
the transfer.
When I do a select of the table's serial field only we get the 891 missing
records.
select ser_field from table_before where ser_field not in (select ser_field
from table_after)
But when I do a select using the values retrieved in the previous select and
use them in the where clause of a normal select *, no records.
select * from table_before where ser_field in (list_of_ser_field_values)
Then I did a select rowid, ser_field from table_before where ser_field in
(list_of_ser_field_values).
I got the rowid, serial field for the 891 records.
So I decided to do a select * by using the rowid values in the where clause.
I got 891 complete records.
The problem is now that the serial field values retrieved are not the same
as the first list of values.
It seems the rowids are pointing to 2 different record sets: a complete one
and a set with only the serial field.
oncheck -cD and oncheck -cI do not bring any error.
Could anyone provide a start of explanation?
Thank for your help
Thierry
--00032555505ae2f3d00479240ac9