Oracle fecha corrupción durante la actualización

Estoy migrando algunos datos de un esquema / tabla de Oracle a un nuevo esquema / tabla en la misma base de datos.

El script de migración hace lo siguiente:

create table newtable as select
  ...
  cast(ACTIVITYDATE as date) as ACTIVITY_DATE,
  ...
FROM oldtable where ACTIVITYDATE > sysdate - 1000;

Si miro los datos originales, se ve bien, aquí hay un registro:

select 
  activitydate,
  to_char(activitydate, 'MON DD,YYYY'),
  to_char(activitydate, 'DD-MON-YYYY HH24:MI:SS'),
  dump(activitydate),
  length(activitydate)
from orginaltable  where oldpk =  1067514

Resultado

18-NOV-10                 NOV 18,2010                        18-NOV-2010 12:59:15                          Typ=12 Len=7: 120,110,11,18,13,60,16  

Los datos migrados, que muestran que los datos están corruptos:

select 
  activity_date,
  to_char(activity_date, 'MON DD,YYYY'),
  to_char(activity_date, 'DD-MON-YYYY HH24:MI:SS'),
  dump(activity_date),
  length(activity_date)
from newtable
where id =  1067514

Resultado

18-NOV-10                 000 00,0000                         00-000-0000 00:00:00                           Typ=12 Len=7: 120,110,11,18,13,0,16   

Alrededor de 5000 de 350k registros muestran este problema.

¿Alguien puede explicar cómo sucedió esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta