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

Migración de una base de datos Oracle a MySQL en AWS, Parte 2

AWS Database Migration Service (DMS) es un servicio para migrar bases de datos en AWS en el que la base de datos de origen podría ser:

  • Una base de datos en AWS (EC2,RDS)
  • Una base de datos local
  • Una base de datos en alguna otra plataforma en la nube como Oracle Cloud Platform

La base de datos de destino podría ser:

  • Una base de datos en AWS (EC2, RDS, Redshift, DynamoDB)
  • Una base de datos local
  • Una base de datos en alguna otra plataforma en la nube, como Oracle Cloud Platform

Al menos una de las dos bases de datos, origen y destino, debe estar en AWS. Por ejemplo, DMS no se puede usar para migrar una base de datos local a la plataforma Google Cloud. En dos artículos, analizamos la migración de una base de datos Oracle a una base de datos MySQL con el Servicio de migración de bases de datos. En un artículo anterior, "Migración de una base de datos de Oracle a MySQL en AWS, Parte 1", analizamos la configuración de las bases de datos de origen y de destino. En este artículo de continuación, realizaremos la migración. Este artículo tiene las siguientes secciones:

  • Crear una migración
  • Ejecutar la migración
  • Consulta del esquema de la base de datos migrada
  • Reinicio de una migración
  • Modificar una migración
  • Conclusión

Crear una migración

En esta sección, crearemos una migración de DMS para migrar la instancia de base de datos Oracle en RDS a la instancia de base de datos MySQL en RDS. Inicie sesión como el usuario de IAM (dvohra u otro) creado anteriormente. Seleccione el DMS servicio en la consola de AWS, como se muestra en la Figura 1.


Figura 1: Servicio DMS en la consola de AWS

Haz clic en Crear migración. , como se muestra en la Figura 2.


Figura 2: Crear migración

Se inicia el asistente de AWS Database Migration Service, como se muestra en la Figura 3. Haga clic en Siguiente en la página de bienvenida.


Figura 3: Asistente del servicio de migración de bases de datos de AWS

A continuación, Crear instancia de replicación se muestra la página, como se muestra en la Figura 4.


Figura 4: Crear instancia de replicación

Especifique un nombre de instancia de replicación o mantenga la configuración predeterminada, como se muestra en la Figura 5. Seleccione una clase de instancia o mantenga la configuración predeterminada. Seleccione una VPC porque no hay una VPC predeterminada configurada. Seleccione Multi-AZ como No para usar una sola zona de disponibilidad. Seleccione Accesible públicamente opción.


Figura 5: Configuración de la instancia de replicación

En Avanzado configuración, la configuración predeterminada para el almacenamiento asignado, el grupo de subred replicado y la zona de disponibilidad se muestran en la Figura 6.


Figura 6: Configuración avanzada

Seleccione la clave maestra de KMS como clave de cifrado (dms ) creado anteriormente, como se muestra en la Figura 7. Haga clic en Siguiente.


Figura 7: Selección de la clave maestra de KMS

A continuación, configure los puntos finales de la base de datos para conectarse a los puntos finales de la base de datos de origen y de destino, como se muestra en la Figura 8. Los puntos finales de la base de datos se pueden especificar mientras se crea la instancia de replicación. Los puntos finales de origen y de destino se configuran en columnas separadas etiquetadas como Detalles de conexión de la base de datos de origen y Detalles de conexión de la base de datos de destino.


Figura 8: Puntos finales de la base de datos

Seleccione el motor de origen de la lista desplegable como oracle , como se muestra en la Figura 9.


Figura 9: Motor de origen

Seleccione el motor de destino de la lista desplegable como mysql , como se muestra en la Figura 10.


Figura 10: Selección del motor de destino

Para el Nombre del servidor s, especifique los puntos finales para las instancias de base de datos, como se indica en la consola de RDS, quitando el sufijo :port. El nombre del servidor para Oracle DB es orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com y el nombre del servidor para MySQL DB es mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . El puerto se especifica por separado en el Puerto y es 1521 para la base de datos Oracle y 3306 para la base de datos MySQL. Seleccione modo SSL como ninguno para las bases de datos de origen y de destino. Especifique el nombre de usuario y la contraseña como el nombre de usuario maestro y la contraseña maestra configurados al crear las instancias de RDS. Los detalles de la conexión de origen y destino se muestran en la Figura 11.


Figura 11: Detalles de conexión de origen y destino

Desplácese hacia abajo para la conexión Configuración avanzada. Para la base de datos Oracle, especifique el SID, como se muestra en la Figura 12. Para la base de datos MySQL, configure los atributos de conexión adicionales a targetDbType=SPECIFIC_DATABASE . La clave maestra de KMS debe ser la clave de cifrado (dms) creada como usuario de IAM (dvohra) para DMS.


Figura 12: Configuración avanzada de conexión

Haz clic en Ejecutar prueba para cada una de las bases de datos para probar la conexión. El resultado debe ser Conexión probada con éxito, como se muestra en la Figura 13.


Figura 13: Ejecutar prueba

A continuación, se debe configurar una tarea de migración, antes de lo cual se debe haber creado la instancia de replicación, como se muestra en la Figura 14.


Figura 14: Instancia de replicación creada

Después de configurar los extremos de la base de datos, haga clic en Siguiente, como se muestra en la Figura 15.


Figura 15: Puntos finales de la base de datos configurados

En Tarea, se debe configurar al menos una regla de selección o no se crea una tarea, como lo indica el mensaje de error cuando Crear tarea se hace clic (ver Figura 16).


Figura 16: Se requiere al menos una regla de selección

Haga clic en agregar regla de selección enlace que se muestra en la Figura 16. En el detalle de la regla de selección, configure un Dónde regla de selección Seleccione Esquema como DVOHRA (el esquema sería diferente para diferentes usuarios) y especifique El nombre de la tabla es similar como % . En Acción , los objetos pueden incluirse o excluirse seleccionando Incluir o Excluir . Las exclusiones se procesan después de las inclusiones. Seleccione Acción como Incluir. Se pueden agregar filtros de origen para limitar el número y el tipo de registros transferidos del origen al destino. Haz clic en Añadir regla de selección , como se muestra en la Figura 17. Posteriormente, haga clic en Crear tarea .


Figura 17: Agregar una regla de selección

Se agrega una nueva tarea, como se muestra en la Figura 18. Inicialmente, el estado de la tarea es "Creando".


Figura 18: Nueva tarea

Cuando se crea la tarea, el Estado pasa a ser Listo , como se muestra en la Figura 19.


Figura 19: Estado de la tarea como Listo

Ejecutar la migración

Para ejecutar la migración, haga clic en Iniciar/Reanudar , como se muestra en la Figura 20.


Figura 20: Iniciar/Reanudar

El Estado debe convertirse en Iniciando (ver Figura 21).


Figura 21: Inicio de tareas

Después de Comenzar, el estado pasa a ser En ejecución. . Cuando la migración se ha completado, el Estado pasa a ser Carga completa. , como se muestra en la Figura 22.


Figura 22: Carga Completa

Las estadísticas de la tabla La pestaña debe enumerar las tablas migradas, como se muestra en la Figura 23.


Figura 23: Estadísticas de la tabla

Consulta del esquema de la base de datos migrada

En la CLI de MySQL, enumere las bases de datos con el comando show databases, como se muestra en la Figura 24. El DVOHRA la base de datos (esquema) aparece en la lista.


Figura 24: Listado de bases de datos

Seleccione el DVOHRA base de datos con use DVOHRA dominio. Enumere las tablas con el comando show tables, como se muestra en la Figura 25. El WEBLOGICLOG y WLSLOG las tablas que se crearon en la base de datos de Oracle anteriormente se han migrado y se enumeran.


Figura 25: Listado de tablas

La tabla también se migra. El WEBLOGICLOG la tabla no tiene ningún dato y no se devuelve ninguno en una consulta SQL (consulte la Figura 26).


Figura 26: SQL Query en WEBLOGLOG no muestra ningún dato

La tabla WLSLOG migrada incluye datos, como se muestra en el resultado de una consulta en la Figura 27.


Figura 27: Los datos en la tabla WLSLOG se migran

Reinicio de una migración

De forma predeterminada, la migración no realiza un sondeo activo en la base de datos de origen para migrar los cambios, si los hubiera. Si se realizan modificaciones en la base de datos de origen, como agregar datos a una tabla o crear una tabla nueva, la migración debe ejecutarse nuevamente. Como ejemplo, agregue datos al weblogiclog tabla en la base de datos de Oracle.

INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STANDBY');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STARTING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to ADMIN');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RESUMING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000361','Started WebLogic
   AdminServer');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RUNNING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000360','Server started
   in RUNNING mode');

Para migrar los datos agregados a MySQL, haga clic en Iniciar/Reanudar , como se muestra en la Figura 28.


Figura 28: Reinicio de una migración

En Iniciar tarea cuadro de diálogo, se proporcionan dos opciones:Iniciar y Reiniciar , como se muestra en la Figura 29. El Inicio La opción solo carga tablas nuevas (carga completa) y tablas que estaban incompletas (cargas parciales) en una ejecución anterior de la tarea.


Figura 29: Iniciar tarea

Porque el WEBLOGICLOG la tabla ya se ha migrado (la carga completa está completa) y es necesario migrar nuevos datos, el botón Reiniciar se debe seleccionar la opción, como se muestra en la Figura 30.


Figura 30: Reinicio de una migración

El estado de la tarea vuelve a ser Iniciando seguido de Correr (ver Figura 31).


Figura 31: Estado de la tarea En ejecución

Cuando la tarea ha terminado de ejecutarse, el Estado pasa a ser Carga completa. , como se muestra en la Figura 32.


Figura 32: Carga completa

Consulta el WEBLOGICLOG los datos en la CLI de MySQL y los datos migrados se enumeran, como se muestra en la Figura 33.


Figura 33: Datos migrados al reiniciar la tarea

Modificar una migración

Es posible que sea necesario modificar una tarea de migración, como agregar o eliminar una regla de selección o modificar una de las otras configuraciones de la tarea. Una tarea puede modificarse cuando no se está ejecutando y el estado es Carga completa. Haz clic en Modificar para modificar una tarea, como se muestra en la Figura 34.


Figura 34: Modificar

Modificar tarea se inicia el diálogo. Aunque diferente Tipo de migración s se enumeran, como se muestra en la Figura 35, el tipo de migración no se puede modificar en este momento. La configuración predeterminada es "Migrar datos existentes".


Figura 35: Modificar Tarea

La Configuración de tareas que se muestra en la Figura 36 puede modificarse. Haz clic en Configuración avanzada para modificar la configuración avanzada.


Figura 36: Configuración de tareas

En Configuración avanzada, la tabla de control la configuración se puede modificar, como se muestra en la Figura 37.


Figura 37: Configuración de la tabla de control

La Configuración de sintonización puede modificarse, como se muestra en la Figura 38.


Figura 38: Ajustes de afinación

Para agregar una regla de transformación, haga clic en agregar regla de transformación , como se muestra en la Figura 39.


Figura 39: Añadir regla de transformación

En Reglas de transformación , seleccione el Objetivo para la transformación como Mesa , como se muestra en la Figura 40. Seleccione El nombre del esquema es como DVOHRA. Especifique El nombre de la tabla es como como % . Seleccione Acción como Añadir prefijo , como ejemplo.


Figura 40: Adición de reglas de transformación

Especifique el prefijo de la tabla para agregar a cada tabla migrada (consulte la Figura 41). Haz clic en Añadir regla de transformación .


Figura 41: Añadir regla de transformación

Haz clic en Modificar , como se muestra en la Figura 42.


Figura 42: Modificar

En Iniciar tarea , seleccione Reiniciar y haz clic en Iniciar tarea , como se muestra en la Figura 43.


Figura 43: Iniciar tarea

El estado de la tarea pasa a ser Modificando , como se muestra en la Figura 44.


Figura 44: Modificando

El estado de la tarea se puede actualizar con el botón Actualizar. El estado pasa a ser En ejecución , como se muestra en la Figura 45.


Figura 45: Tarea en ejecución

Cuando la tarea ha terminado de ejecutarse, el estado pasa a ser Carga completa. (ver Figura 46).


Figura 46: Carga Completa

Posteriormente, enumere las tablas en MySQL. Se enumeran las tablas nuevas con un prefijo, como se muestra en la Figura 47.


Figura 47: Tablas con prefijo

Conclusión

En dos artículos, analizamos la migración de una base de datos Oracle en RDS a una base de datos MySQL en RDS mediante el servicio de migración de bases de datos de AWS.