Migración de una base de datos de Oracle a Azure

Azure Load Balancer
Azure ExpressRoute
Azure VPN Gateway

Esta solución migra una base de datos Oracle y sus aplicaciones a Azure. Utilizamos Oracle Active Data Guard para la base de datos, y Azure Load Balancer para la capa de aplicación.

Architecture

Diagrama de arquitectura que muestra la finalización de una migración de base de datos de Oracle a Azure.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Conecte su entorno de Azure a la red local a través de una VPN de sitio a sitio o ExpressRoute.
  2. Use DataGuard para marcar la base de datos OracleDB1 en Azure como la base de datos en espera activa.
  3. Cambie la base de datos OracleDB1 de Azure para que sea la principal y configure OracleDB2 de Azure como la base de datos en espera para finalizar la migración.

Nota

  • Este método solo funciona si se migra hacia una misma versión del sistema operativo y de la base de datos, y desde esta.
  • Suposición: se usa DataGuard en el entorno local.

Componentes

Alternativas

Si la base de datos tiene más de 2 TB, puede usar Oracle Data Guard con Oracle Recovery Manager (RMAN) o Data Pump para replicar los cambios después de una transferencia de datos masiva inicial, lo que proporciona una migración con tiempo de inactividad mínimo.

SQL Server Migration Assistant para Oracle

Microsoft SQL Server Migration Assistant (SSMA) para Oracle es una herramienta para migrar bases de datos de Oracle a Microsoft SQL Server y Azure SQL Database. SSMA para Oracle convierte objetos de base de datos de Oracle en objetos de base de datos de SQL Server, crea esos objetos en SQL Server y, a continuación, migra datos de Oracle a SQL Server o Azure SQL Database.

Detalles del escenario

Las migraciones de Oracle DB se pueden realizar de varias maneras. Esta solución cubre una de estas opciones, en la que se usa Oracle Active Data Guard para migrar la base de datos. Se supone que Oracle Data Guard (o Oracle Active Data Guard) se usa para lograr alta disponibilidad y recuperación ante desastres. En función de la aplicación, se puede migrar primero la aplicación o la base de datos. En este caso, la aplicación se migra a Azure mediante Azure Load Balancer. Esto le permite dividir el tráfico entre el entorno local y Azure, lo que le permite migrar gradualmente la capa de aplicación. La migración de la base de datos se realiza en varios pasos. Como primer paso, Oracle Data Guard se usa para configurar una base de datos secundaria o en espera en Azure. Esto le permite migrar los datos a Azure. Una vez que la base de datos secundaria de Azure esté sincronizada con la principal, puede cambiar la base de datos de Azure para que sea la base de datos principal mientras mantiene la secundaria en el en el entorno local. En el paso siguiente, puede configurar una base de datos secundaria en una zona de disponibilidad (o región) diferente con fines de alta disponibilidad y recuperación ante desastres. En este punto puede retirar su entorno local. Todo el tráfico de datos entre el entorno local y Azure fluye a través de Azure ExpressRoute o la conectividad VPN de sitio a sitio.

Posibles casos de uso

Esta solución se aplica cuando Oracle DB se migra a Azure.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Migración

Puede migrar toda la base de datos de Oracle del entorno local a la máquina virtual de Azure con un tiempo de inactividad mínimo mediante Oracle Recovery Manager (RMAN) y Oracle Data Guard. Use RMAN para restaurar la base de datos en la máquina virtual de Azure de destino en espera, mediante copia de seguridad o restauración, o el método de duplicación de bases de datos. A continuación, puede configurar la base de datos de destino como una base de datos en espera física con Oracle Data Guard, lo que permite todas las transacciones y rehacer todos los cambios en los datos de la base de datos local principal en la base de datos en espera. Cuando la base de datos de Oracle local principal está sincronizada con la base de datos de destino en espera en la máquina virtual de Azure, puede cambiar a la base de datos de destino, lo cual la convertirá en una base de datos de lectura y escritura. A continuación podrá apuntar las conexiones de la aplicación a la nueva base de datos principal. Esta opción proporciona un tiempo de inactividad mínimo al migrar la base de datos a Azure.

La utilidad Oracle Data Pump se usa para exportar e importar datos y metadatos desde o hacia bases de datos de Oracle. Puede ejecutar la exportación o importación de Data Pump con una base de datos completa, esquemas selectivos, espacios de tabla u objetos de base de datos. Data Pump es la herramienta recomendada para migrar datos a Azure para bases de datos grandes, de 10 GB a 20 TB de tamaño. Permite un alto grado de paralelismo, opciones flexibles de extracción de datos y operaciones escalables que permiten alta velocidad de movimiento de los datos y metadatos de una base de datos de origen a la base de datos de destino. Oracle Data Pump también admite cifrado y compresión al exportar los datos a archivos de volcado de datos. Puede usar Oracle Data Pump con Oracle Data Guard o Golden Gate para controlar la transferencia de datos inicial con bases de datos grandes. Tenga en cuenta que Data Pump solo está disponible Oracle Database 10g versión 1 (10.1) y versiones posteriores.

Consideraciones de diseño

Tamaño de máquina virtual

Considere la posibilidad de usar una máquina virtual con optimización para memoria de hiperproceso con vCPU principales restringidas para máquina virtual de Oracle Database para ahorrar en los costos de licencia y maximizar el rendimiento. Oracle ha garantizado la movilidad de licencias del entorno local a Azure. Consulte las preguntas más frecuentes sobre la relación entre Oracle y Azure.

Storage

Use varios discos Premium o Ultra (discos administrados) para el rendimiento y la disponibilidad en la base de datos de Oracle. Si se usan discos administrados, el nombre del disco o dispositivo puede cambiar en los reinicios. Se recomienda usar el UUID del dispositivo en lugar del nombre para asegurarse de que se conservan los montajes de un reinicio a otro. Considere la posibilidad de usar la administración automática del almacenamiento (ASM) de Oracle para simplificar la administración del almacenamiento de la base de datos.

Pruebas y ajuste

Se recomiendan las siguientes pruebas para validar la aplicación con la nueva base de datos de Oracle:

  • Ejecute pruebas de rendimiento para asegurarse de que se cumplen sus expectativas empresariales.
  • Pruebe la conmutación por error, la recuperación y la restauración de la base de datos para asegurarse de que cumple los requisitos de RPO y RTO.
  • Enumere todos los trabajos e informes críticos, y ejecútelos en una nueva instancia de Oracle para evaluar su rendimiento con respecto a los Acuerdos de Nivel de Servicio (SLA).
  • Por último, al migrar o crear aplicaciones para la nube, es importante retocar el código de aplicación para agregar patrones nativos de la nube, como el patrón de reintento y el patrón de interruptor. Otros patrones adicionales definidos en la guía Patrones de diseño en la nube pueden ayudar a que su aplicación sea más resistente.

Licencias de Oracle

Si usa la tecnología habilitada para Hyper-Threading en las máquinas virtuales de Azure, tenga en cuenta que dos CPU virtuales equivalen a una licencia de procesador de Oracle. Consulte Licensing Oracle Software in the Cloud Computing Environment (Licencias de software de Oracle en el entorno de informática en la nube) para obtener más información.

Estrategia de copia de seguridad

Una estrategia de copia de seguridad es usar Oracle Recovery Manager (RMAN) y Azure Backup para unas copias de seguridad coherentes con la aplicación. También puede usar el método de copia de seguridad de Azure.

Opcionalmente, use Azure Blob Fuse para montar una cuenta de Azure Blob Storage de gran redundancia y escriba sus copias de seguridad de RMAN en ella para aumentar la resistencia.

Seguridad

Azure DDoS Protection, combinado con los procedimientos recomendados de diseño de aplicaciones, proporciona características mejoradas de mitigación de DDoS para ofrecer una mejor defensa frente a los ataques DDoS. Debe habilitar Azure DDOS Protection en cualquier red virtual perimetral.

Continuidad empresarial y recuperación ante desastres

Para la continuidad empresarial y la recuperación ante desastres, considere la posibilidad de implementar el software siguiente:

  • Oracle Data Guard Fast-Start Failover (FSFO) para la disponibilidad de la base de datos.
  • Oracle Data Guard Far Sync para la protección frente a la pérdida de datos.
  • Oracle GoldenGate para el modo principal múltiple o activo-activo en el conjunto de disponibilidad o la zona de disponibilidad de Azure depende de los requisitos del Acuerdo de Nivel de Servicio.

Use Availability Zones para lograr una alta disponibilidad en la región. Para más información, consulte Arquitecturas de referencia para las bases de datos de Oracle en Azure.

Se puede lograr una disponibilidad de tiempo de actividad del 99,99 % para el nivel de base de datos mediante una combinación de Azure Availability Zones y Oracle Active DataGuard con FSFO.

Considere la posibilidad de usar grupos de selección de ubicación de proximidad para reducir la latencia entre la aplicación y la capa de base de datos.

Supervisión

Configure Oracle Enterprise Manager para la administración, la supervisión y el registro.

Pasos siguientes

Consulte estos artículos para información complementaria:

Más información sobre los distintos componentes de la arquitectura: