Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migración de de Amazon RDS para Oracle a Amazon RDS para MySQL
Jitender Kumar, Srini Ramaswamy y Neha Sharma, Amazon Web Services
Resumen
Este patrón proporciona una guía para migrar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una base de datos de Amazon RDS para MySQL en la nube de Amazon Web Services (AWS). Este patrón utiliza AWS Database Migration Service (AWS DMS) y la Herramienta de conversión de esquemas de AWS (AWS SCT).
El patrón proporciona las prácticas recomendadas para gestionar la migración de los procedimientos almacenados. También trata y cambia el código para admitir la capa de aplicación.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa.
Una base de datos de origen de Amazon RDS para Oracle.
Una base de datos de destino de Amazon RDS para MySQL. Las bases de datos de origen y de destino deben estar en la misma nube privada virtual (VPC). Si utilizas varios VPCs o debes tener los permisos de acceso necesarios.
Grupos de seguridad que permiten la conectividad entre las bases de datos de origen y destino, AWS SCT, el servidor de la aplicación y AWS DMS.
Una cuenta de usuario con los privilegios necesarios para ejecutar AWS SCT en la base de datos de origen.
Registro suplementario activado para ejecutar AWS DMS en la base de datos de origen.
Limitaciones
El límite de tamaño de la base de datos de Amazon RDS de origen y destino es de 64 TB. Para obtener información sobre el tamaño de Amazon RDS, consulte la documentación de AWS.
Oracle distingue mayúsculas de minúsculas para los objetos de base de datos, pero MySQL no. AWS SCT puede gestionar este problema al crear un objeto. Sin embargo, es necesario llevar a cabo algunos trabajos manuales para no distinguir entre mayúsculas y minúsculas.
Esta migración no utiliza extensiones de MySQL para habilitar las funciones nativas de Oracle. AWS SCT gestiona la mayor parte de la conversión, pero es necesario trabajar un poco para cambiar el código manualmente.
Se requieren cambios en el controlador de Java Database Connectivity (JDBC) en la aplicación.
Versiones de producto
Amazon RDS para Oracle 12.2.0.1 y versiones posteriores. Para ver las versiones de RDS para Oracle compatibles actualmente, consulte la documentación de AWS.
Amazon RDS para MySQL 8.0.15 y versiones posteriores Para ver las versiones de RDS para MySQL compatibles actualmente, consulte la documentación de AWS.
AWS DMS, versión 3.3.0 y posteriores. Consulte la documentación de AWS para obtener más información sobre los puntos de conexión de origen y de destino compatibles con AWS DMS.
AWS SCT, versión 1.0.628 y posteriores. Consulte AWS SCT source and target endpoint support matrix en la documentación de AWS.
Arquitectura
Pila de tecnología de origen
Amazon RDS para Oracle. Para obtener más información, consulte Using an Oracle database as a source for AWS DMS.
Pila de tecnología de destino
Amazon RDS para MySQL. Para obtener más información, consulte Using a MySQL-Compatible database as a target for AWS DMS.
Arquitectura de migración
En el siguiente diagrama, AWS SCT copia y convierte los objetos de esquema de la base de datos de origen de Amazon RDS para Oracle y envía los objetos a la base de datos de destino de Amazon RDS para MySQL. AWS DMS replica los datos de la base de datos de origen y los envía a la instancia de Amazon RDS para MySQL.

Tools (Herramientas)
AWS Database Migration Service lo ayuda a migrar almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
Amazon Relational Database Service (Amazon RDS) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS. Este patrón utiliza Amazon RDS para Oracle and Amazon RDS para MySQL.
La Herramienta de conversión de esquemas de AWS (AWS SCT) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Valide las versiones de las bases de datos de origen y de destino. | Administrador de base de datos | |
Identifique los requisitos de hardware de la instancia del servidor de destino. | DBA, SysAdmin | |
Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). | DBA, SysAdmin | |
Elija el tipo de instancia apropiado (capacidad, características de almacenamiento y características de red). | DBA, SysAdmin | |
Identifique los requisitos de seguridad de acceso a la red de las bases de datos de origen y destino. | DBA, SysAdmin | |
Elija una estrategia de migración de aplicaciones. | Considere si desea un tiempo de inactividad total o parcial para las actividades en transición. | DBA, propietario de la SysAdmin aplicación |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Creación de una VPC y de subredes. | SysAdmin | |
Cree grupos de seguridad y listas de control de acceso a la red (ACLs). | SysAdmin | |
Configure e inicie la instancia de Amazon RDS para Oracle. | DBA, SysAdmin | |
Configure e inicie la instancia de Amazon RDS para MySQL. | DBA, SysAdmin | |
Prepare un caso de prueba para la validación de la conversión de código. | Esto ayudará a realizar pruebas unitarias para el código convertido. | Administrador de base de datos, desarrollador |
Configure la instancia de AWS DMS. | ||
Configure los puntos de conexión de origen y destino en AWS DMS. |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Generar el script de la base de datos de destino mediante AWS SCT. | Compruebe la precisión del código convertido por AWS SCT. Será necesario realizar algunos trabajos manuales. | Administrador de base de datos, desarrollador |
En AWS SCT, elija la configuración “Sin distinción entre mayúsculas y minúsculas”. | En AWS SCT, elija Configuración del proyecto, Distinción entre mayúsculas y minúsculas del destino, Sin distinción entre mayúsculas y minúsculas. | Administrador de base de datos, desarrollador |
En AWS SCT, opte por no utilizar la función nativa de Oracle. | En la configuración del proyecto, compruebe las funciones TO_ _DATECHAR/TO_NUMBER/TO. | Administrador de base de datos, desarrollador |
Realice cambios en el código “sql%notfound”. | Puede que tenga que convertir el código manualmente. | |
Realice consultas sobre tablas y objetos en procedimientos almacenados (utilice consultas en minúsculas). | Administrador de base de datos, desarrollador | |
Cree el script principal después de realizar todos los cambios y, a continuación, impleméntelo en la base de datos de destino. | Administrador de base de datos, desarrollador | |
Realice pruebas unitarias de procedimientos almacenados y llamadas a aplicaciones utilizando datos de muestra. | ||
Limpie los datos que se crearon durante las pruebas unitarias. | Administrador de base de datos, desarrollador | |
Elimine las restricciones de clave externa en la base de datos de destino. | Este paso es obligatorio para cargar los datos iniciales. Si no desea eliminar las restricciones de clave externa, debe crear una tarea de migración para los datos específicos de las tablas principal y secundaria. | Administrador de base de datos, desarrollador |
Coloque las claves principales y las claves únicas en la base de datos de destino. | Este paso da como resultado un mejor rendimiento para la carga inicial. | Administrador de base de datos, desarrollador |
Habilitar el registro suplementario en la base de datos de origen. | Administrador de base de datos | |
Cree una tarea de migración para la carga inicial en AWS DMS y ejecútela. | Seleccione la opción de migrar datos existentes. | Administrador de base de datos |
Añada las claves principales y las claves externas a la base de datos de destino. | Las restricciones deben añadirse después de la carga inicial. | Administrador de base de datos, desarrollador |
Cree una tarea de migración para la replicación continua. | La replicación continua mantiene la base de datos de destino sincronizada con la base de datos de origen. | Administrador de base de datos |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Sustituya las funciones nativas de Oracle por funciones nativas de MySQL. | Propietario de la aplicación | |
Asegúrese de que solo se usen nombres en minúscula para los objetos de base de datos en las consultas SQL. | DBA, SysAdmin propietario de la aplicación |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Apague el servidor de la aplicación. | Propietario de la aplicación | |
Valide que las bases de datos de origen y destino estén sincronizadas. | Administrador de base de datos, propietario de la aplicación | |
Detenga la instancia de base de datos de Amazon RDS para Oracle. | Administrador de base de datos | |
Detenga la tarea de migración. | Se detendrá automáticamente después de completar el paso anterior. | Administrador de base de datos |
Cambie la conexión JDBC de Oracle a MySQL. | Administrador de base de datos, propietario de la aplicación | |
Inicie la aplicación. | DBA, propietario de la SysAdmin aplicación |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Revise y valide los documentos del proyecto. | DBA, SysAdmin | |
Recopile métricas sobre el tiempo de migración, el porcentaje de tareas manuales en comparación con las tareas automatizadas, el ahorro de costos, etc. | DBA, SysAdmin | |
Detenga y elimine las instancias de AWS DMS. | Administrador de base de datos | |
Elimine los puntos de conexión de la base de datos de origen y de destino. | Administrador de base de datos | |
Elimine las tareas de migración. | Administrador de base de datos | |
Realice una instantánea de la instancia de base de datos de Amazon RDS para Oracle. | Administrador de base de datos | |
Elimine la instancia de base de datos de Amazon RDS para Oracle. | Administrador de base de datos | |
Cierre y elimine cualquier otro recurso temporal de AWS que haya utilizado. | DBA, SysAdmin | |
Cierre el proyecto y envíe sus comentarios. | Administrador de base de datos |