Migrar de Oracle a MySQL

Nos encontramos con serios problemas de rendimiento con nuestra base de datos Oracle y nos gustaría intentar migrarla a una base de datos basada en MySQL (ya sea MySQL directamente o, más preferiblemente, Infobright).

La cuestión es que debemos dejar que el sistema antiguo y el nuevo se superpongan durante al menos algunas semanas, si no meses, antes de saber si todas las características de la nueva base de datos satisfacen nuestras necesidades.

Entonces, aquí está nuestra situación:

La base de datos Oracle consta de varias tablas con cada millón de filas. Durante el día, hay literalmente miles de declaraciones, que no podemos detener para la migración.

Cada mañana, se importan nuevos datos a la base de datos de Oracle, reemplazando algunos miles de filas. Copiar este proceso no es un problema, por lo que podríamos, en teoría, importar en ambas bases de datos en paralelo.

Pero, y aquí está el desafío, para que esto funcione, necesitamos exportar desde la base de datos Oracle con un estado constante desde un día. (No podemos exportar algunas tablas el lunes y otras el martes, etc.) Esto significa que al menos la exportación debería finalizar en menos de un día.

Nuestro primer pensamiento fue volcar el esquema, pero no pude encontrar una herramienta para importar un archivo de volcado de Oracle a MySQL. Exportar tablas en archivos CSV podría funcionar, pero me temo que podría llevar demasiado tiempo.

Entonces mi pregunta ahora es:

¿Qué tengo que hacer? ¿Hay alguna herramienta para importar archivos de volcado de Oracle en MySQL? ¿Alguien tiene alguna experiencia con una migración a gran escala?

PD: Por favor, no sugiera técnicas de optimización de rendimiento para Oracle, ya lo hemos intentado mucho :-)

Editar: Ya probamos algunas herramientas ETL antes, solo para descubrir que no eran lo suficientemente rápidas: exportar solo una tabla ya tomó más de 4 horas ...

2da Edición: Vamos amigos ... ¿nadie intentó exportar una base de datos completa lo más rápido posible y convertir los datos para que puedan importarse a otro sistema de base de datos?

Respuestas a la pregunta(8)

Su respuesta a la pregunta