sql >> Base de Datos >  >> RDS >> Mysql

Migrar de Oracle a MySQL

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. /caja de jabón