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.