update/insert problema

Hola

 

cordial saludo,

 

bueno nuevamente con dudas y algunos problemas en el mapeo de datos.

 

A ver tengo el siguente problema, he creado un mapa para el cual la tabla destino tiene un campo PK (secuencia)y tres campos me representan un constraint unique, para la asignacion del pk no se hace uso del NEXTVAL para obtener el ultimo valor de la secuencia. Para esto sean definido los valores de secuencia 

en una tabla tabla_secuencia. el problema se me esta presentando cuando corrro el mapa pues me aparece el error ora-00001 violation unique constraint para ambos casos pk y el unique de los tres campos.  Para verificar este error he realizado una revision en los valores almacenados en la tabla_secuencia buscando si ya existen valores asignados en la tabla destino, pero en esta situación este no es el problema los valores de secuencia existentes en la tabla_secuencia no presentan conflicto. para la asignacion de los valores de secuencia se ha definido una funcion que me retorna el valor de secuencia correspondiente una vez este es asignado en la tabla destino mediante un trigger se elemina el valor de la tabla_secuencia.

se esta usando la opcion parallel para el proceso de carga y en la opcion match by contraint se indica que tenga en cuenta la pk y el unique. 

 

 

 

 

bueno continuando un poco con mis prueba he relizado lo siguiente: 

 

modifique la tabla y cambie  la opcion update/insert a solo insert, esto con el fin de verificar si el problema persiste en este modo, para esto he creado una copia de la tabla destino original.  ahora el error es distinto ya me aparece es un error de timeout ora-02049.

Despues de algunos ajustes .. algunos target estaban en modo append parallel. los elimine y nuevamente corri el mapa

en este caso no se presento problema alguno, sin embargo el tiempo que tomo la insercion de datos fue de 3.5 horas (800 mil registros) lo cual me parece demasiado ... aunque hay que considerar que este proceso se corre en una maquina virtual. 

 

ahora seguire conmis pruebas para ver si esta  vez me funciona el insert/update

En respuesta a por oscarw

Oscar, hace tiempo que no toco OWB, y te contesto de memoria, pero creo que yo también he sufrido el problema que comentas.

Por lo que dices, cada vez que se recorre un registro OWB le está asignando el mismo SK. La ejecución por defecto de los mappings hace eso.

Tienes que cambiar el modo de ejecución del mapping con una opción que ahora no recuerdo para que obtenga una nueva SK para cada registro. Está un poco escondido, pero si buscas seguro que acabas encontrando cómo cambiar ese modo de ejecución.

 

Espero haberte sido de ayuda,