Posterior a de una extensa selección de datos hemos podido solucionar este rompecabezas que presentan algunos los lectores. Te dejamos la solución y esperamos resultarte de gran ayuda.
Solución:
Oracle no proporciona una utilidad de descarga lista para usar.
Tenga en cuenta que sin información completa sobre su entorno (¿versión de Oracle? ¿plataforma de servidor? ¿cuántos datos? ¿qué tipos de datos?) todo aquí es YMMV y le gustaría probarlo en su sistema por rendimiento y tiempo.
Mis puntos 1-3 son solo ideas genéricas de movimiento de datos. El punto 4 es un método que reducirá el tiempo de inactividad o la interrupción a minutos o segundos.
1) Hay utilidades de terceros disponibles. He usado algunos de estos, pero es mejor que los revise usted mismo para el propósito previsto. Aquí se enumeran algunos productos de terceros: OraFaq. Desafortunadamente, muchos de ellos se ejecutan en Windows, lo que ralentizaría el proceso de descarga de datos a menos que su servidor de base de datos estuviera en Windows y pudiera ejecutar la utilidad de carga directamente en el servidor.
2) Si no tiene tipos de datos complejos como LOB, puede crear los suyos propios con SQLPLUS. Si hiciste una tabla a la vez, puedes paralelizarla fácilmente. El tema ha sido visitado en este sitio probablemente más de una vez, aquí hay un ejemplo: Linky
3) Si tiene más de 10 g, las tablas externas pueden ser una forma eficaz de realizar esta tarea. Si crea algunas tablas externas en blanco con la misma estructura que sus tablas actuales y copia los datos en ellas, los datos se convertirán al formato de tabla externa (un archivo de texto). Una vez más, OraFAQ al rescate.
4) Si debe mantener los sistemas en paralelo durante días/semanas/meses, utilice una herramienta de captura/aplicación de datos modificados para un tiempo de inactividad casi nulo. Esté preparado para pagar $$$. He utilizado la herramienta de Golden Gate Software que puede extraer los registros de rehacer de Oracle y proporcionar declaraciones de inserción/actualización a una base de datos MySQL. Puede migrar la mayor parte de los datos sin tiempo de inactividad la semana antes de la puesta en marcha. Luego, durante su período de puesta en marcha, cierre la base de datos de origen, haga que Golden Gate recupere las últimas transacciones restantes y luego abra el acceso a su nueva base de datos de destino. Lo he usado para actualizaciones y el período de recuperación fue de solo unos minutos. Ya teníamos licencias de sitio para Golden Gate, por lo que no fue nada de nuestro bolsillo.
Y jugaré el papel de Cranky DBA aquí y diré que si no puede hacer que Oracle funcione bien, me encantaría ver un artículo sobre cómo MySQL solucionó sus problemas particulares. Si tiene una aplicación en la que no puede tocar el SQL, todavía hay muchas formas posibles de ajustar Oracle. /plataforma improvisada
Creé una aplicación C# que puede leer un archivo de volcado de Oracle (.dmp) y bombear sus tablas de datos a una base de datos de SQL Server.
Esta aplicación se usa todas las noches en producción para migrar una base de datos de PeopleSoft a SQL Server. La base de datos de PeopleSoft tiene más de 1100 tablas de base de datos y el archivo de volcado de Oracle tiene un tamaño superior a 4,5 GB.
Esta aplicación crea la base de datos y las tablas de SQL Server y luego carga los 4,5 GB de datos en menos de 55 minutos en un servidor Intel de doble núcleo.
No creo que sea demasiado difícil modificar esta aplicación para que funcione con otras bases de datos siempre que tengan un proveedor ADO.NET.
sí, Oracle es bastante lento. 🙂
Puede usar cualquier cantidad de herramientas ETL para mover datos de Oracle a MySQL. Mi favorito es SQL Server Integration Services.
Si tiene Oracle9i o superior, puede implementar Change Data Capture. Lea más aquí http://download-east.oracle.com/docs/cd/B14117_01/server.101/b10736/cdc.htm
Luego, puede tomar un delta de cambios de Oracle a su MySQL o Infobright utilizando cualquier tecnología ETL.
Finalizando este artículo puedes encontrar las acotaciones de otros programadores, tú todavía puedes mostrar el tuyo si dominas el tema.