Estoy tratando de insertar 40800 registros en una tabla Oracle a partir de un archivo con sentencias INSERT, y el resultado que obtengo es el error ORA-01502.
¿Porque se produce este error?
De acuerdo al sitio dba-oracle.com, este error se produce porque se esta tratando de insertar 2 o mas veces el mismo registro.
La solución es borrar el índice indicado en el mensaje del error
ALTER INDEX PRUEBAS.PK_FAKETABLE REBUILD;
Pero también, se debe borrar los registros repetidos del script de carga. Esto lo hice usando GVIM (las instrucciones aquí)
Error SQL: ORA-01502: index 'PRUEBAS.PK_FAKETABLE' or partition of such index is in unusable state
01502. 00000 - "index '%s.%s' or partition of such index is in unusable state"
*Cause: An attempt has been made to access an index or index partition
that has been marked unusable by a direct load or by a DDL
operation
*Action: DROP the specified index, or REBUILD the specified index, or
REBUILD the unusable index partition
Despues de seguir las instrucciones finalmente puedo insertar 23000 registros ya que elimine los repetidos.