Note:

Implementación de Oracle Zero Downtime Migration 21.5 Cloud Native Disaster Recovery Automation

Introducción

En una migración típica, Oracle Zero Downtime Migration migra una base de datos de origen a una sola base de datos de destino (un único punto de fallo). Ahora, en la versión 21.5, también puede crear una estrategia de recuperación ante desastres (DR) durante la migración posterior para poder responder a un evento que afecte negativamente a las operaciones de negocio y recuperarse de él. Se crean instancias de dos bases de datos de destino durante la migración (base de datos primaria de destino y base de datos en espera de destino), donde ambas pueden estar en diferentes regiones (para reducir el impacto de los desastres naturales). Durante la migración posterior, la configuración de Oracle Data Guard Broker se restaura en ambas bases de datos de destino para permitir operaciones nativas en la nube como el switchover y el failover (en la consola de Oracle Database Cloud Service). Para obtener más información, consulte Creación de una estrategia de recuperación ante desastres nativa de Oracle Cloud.

Diagrama de arquitectura

Arquitectura

Pasos del flujo de trabajo de Oracle Zero Downtime Migration

  1. Inicie la migración de la base de datos.
  2. Realice una restauración desde el servicio.
  3. Instancie la base de datos en espera en la base de datos primaria de destino.
  4. Sincronice la base de datos primaria y en espera en la primaria de destino.
  5. Realice la restauración desde el servicio.
  6. Instancie la base de datos en espera en la base de datos en espera de destino.
  7. Sincronizar bases de datos en espera de origen y destino.
  8. Supervisar la preparación del switchover.
  9. Realizar operaciones de switchover y transición de roles.
  10. Configure la configuración principal de destino y restaure la configuración de Cloud Broker.
    1. Oracle Zero Downtime Migration restaura la configuración de Cloud Broker entre el destino de nube principal y el destino de nube en espera.
    2. Oracle Zero Downtime Migration configura la base de datos principal de destino para enviar redo logs a la base de datos en espera de destino.
  11. Realizar comprobaciones posteriores a la validación.
  12. Finalización del proceso de migración.

Nota: Oracle Base Database Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Cloud@Customer, Exadata on-premises y Oracle Exadata Database Service on Dedicated Infrastructure on Oracle Database@Azure soportan este flujo de trabajo.

Requisitos

Tarea 1: Tareas previas a la migración

Los siguientes pasos explican las tareas previas necesarias que se deben completar antes de la migración real.

  1. Instale el software en el sistema de origen. La compilación zdmcli muestra la versión de los binarios. Para obtener más información, consulte Install the Software on the Source System.

    introducir descripción de imagen aquí

  2. Como se menciona en los requisitos, la configuración de DR se ha configurado entre las máquinas del sistema de base de datos de máquina virtual principal y en espera de destino de OCI, como se muestra en la siguiente imagen.

    introducir descripción de imagen aquí

    Inventario de base de datos y servidor:

    Nombre Valor
    Nombre y versión de BD Db0403 & 19c
    Nombre de host (local) de origen origen de base de datos
    Nombre de host "principal de destino" de OCI ociserverprimario
    Nombre mostrado de la consola "Destino principal" de OCI OCI_FUTURE_PRIMARY
    Nombre de host "Target Standby" de OCI ociservidor en espera
    Nombre mostrado de la consola "Target Standby" de OCI OCI_FUTURE_STANDBY
    Nombre de PDB Db0403_Pdb1
    &Versión de nombre de servidor ZDM taller y 21.5

    En las siguientes imágenes se muestran los detalles de la base de datos principal de destino de OCI y los sistemas de base de datos en espera de destino.

    introducir descripción de imagen aquí

    introducir descripción de imagen aquí

  3. La base de datos origen tiene activado el modo forzado de registro y archive log y se puede verificar mediante el siguiente comando.

    select force_logging ,log_mode from v$database;
    FORCE_LOGGING  LOG_MODE
    --------------------------------------- ------------
    YES  ARCHIVELOG
    
  4. Ejecute el comando tnsping para probar el puerto 1521 activado entre los servidores principales de origen y destino y viceversa para el envío de logs.

  5. El servidor de Oracle Zero Downtime Migration debe poder utilizar SSH como zdmuser para asignar los servidores en espera principal y de destino como usuario de OPC. Aquí, el usuario del sistema operativo del servidor de origen también se utiliza OPC en esta migración junto con el nombre de usuario de OPC del sistema operativo de destino.

    introducir descripción de imagen aquí

  6. Se ha actualizado el archivo /etc/hosts del servidor de origen con la información principal y en espera de destino.

    introducir descripción de imagen aquí

  7. Se ha actualizado el archivo /etc/hosts del servidor principal futuro de OCI con las entradas que se muestran en la siguiente imagen.

    introducir descripción de imagen aquí

  8. Se ha actualizado el archivo `/etc/hosts` del servidor en espera futuro de OCI con las entradas que se muestran en la siguiente imagen.

    introducir descripción de imagen aquí

  9. Se actualizó el archivo /etc/hosts del servidor host del servicio Oracle Zero Downtime Migration con las entradas que se muestran en la siguiente imagen.

    introducir descripción de imagen aquí

Tarea 2: Evaluación del trabajo de Oracle Zero Downtime Migration

Verifique el comando de preparación de Oracle Zero Downtime Migration mediante el comando de indicador -eval. -eval no inicia la migración real, se utilizará para evaluar las comprobaciones previas y la preparación de los entornos.

Ejecute el siguiente comando:

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -eval

Salida:

introducir descripción de imagen aquí

Los parámetros del archivo de respuesta se utilizarán para la migración final.

introducir descripción de imagen aquí

Tarea 3: Instanciación del trabajo de migración final

El estado del trabajo EVAL es correcto desde la tarea 2 y se utiliza el siguiente comando para iniciar la migración.

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -pauseafter ZDM_CONFIGURE_DG_TGT

Se ha agregado el indicador pauseafter al comando de migración para pausar la migración después de la fase ZDM_CONFIGURE_DG_TGT. Ahora el trabajo se ha completado correctamente hasta la fase ZDM_CONFIGURE_DG_TGT y se ha pausado como se esperaba.

Resultados de la Migración:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 115
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49
Current status: PAUSED
Current Phase: "ZDM_CONFIGURE_DG_TGT"
Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-03 19:35:48
Job execution elapsed time: 41 minutes 7 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ PENDING
ZDM_SWITCHOVER_TGT ............ PENDING
ZDM_POST_DATABASE_OPEN_TGT .... PENDING
ZDM_DATAPATCH_TGT ............. PENDING
ZDM_POST_MIGRATE_TGT_STBY ..... PENDING
ZDM_POST_MIGRATE_TGT .......... PENDING
ZDM_POSTUSERACTIONS ........... PENDING
ZDM_POSTUSERACTIONS_TGT ....... PENDING
ZDM_POSTUSERACTIONS_STBY ...... PENDING
ZDM_CLEANUP_SRC ............... PENDING
ZDM_CLEANUP_TGT ............... PENDING
ZDM_CLEANUP_STBY .............. PENDING

Pause After Phase: "ZDM_CONFIGURE_DG_TGT" <<<<<<<<<<<<<<<< job paused after this Phase.
[zdmuser@workshop ~]$

El trabajo de migración se ha pausado antes del paso de switchover. Las futuras bases de datos primaria y futura en espera de OCI se cambian al modo físico en espera y el trabajo de Oracle Zero Downtime Migration configura Oracle Data Guard Broker con las tres bases de datos en la configuración y todas están sincronizadas.

introducir descripción de imagen aquí

Tarea 4: Iniciar fase de switchover de trabajo de migración

Comencemos el switchover reanudando el trabajo de Oracle Zero Downtime Migration y el trabajo de la tarea 3, que es 13.

[zdmuser@workshop ~]$ zdmcli resume job -jobid 13

workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 117

El comando zdmcli query job -jobid 13 proporciona el estado del trabajo y el trabajo se marca como correcto ahora.

Salida:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 121
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49

Current status: SUCCEEDED <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-04 06:03:04
Job execution elapsed time: 56 minutes 15 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ COMPLETED
ZDM_SWITCHOVER_TGT ............ COMPLETED
ZDM_POST_DATABASE_OPEN_TGT .... COMPLETED
ZDM_DATAPATCH_TGT ............. COMPLETED
ZDM_POST_MIGRATE_TGT_STBY ..... COMPLETED
ZDM_POST_MIGRATE_TGT .......... COMPLETED
ZDM_POSTUSERACTIONS ........... COMPLETED
ZDM_POSTUSERACTIONS_TGT ....... COMPLETED
ZDM_POSTUSERACTIONS_STBY ...... COMPLETED
ZDM_CLEANUP_SRC ............... COMPLETED
ZDM_CLEANUP_TGT ............... COMPLETED
ZDM_CLEANUP_STBY .............. COMPLETED
[zdmuser@workshop ~]$

El comando DGMGRL se ejecuta desde OCI principal de destino (ahora es principal actual) a medida que se realiza el switchover de la base de datos. La base de datos en espera de destino de OCI sigue en modo En espera según lo esperado y el origen ha cambiado de rol principal a físico en espera.

introducir descripción de imagen aquí

A pesar de que la base de datos en espera local no se muestra en la configuración del broker, sigue recibiendo los redo logs de la base de datos primaria de OCI a la base de datos local de origen y se puede verificar mediante cambios de log o el valor log_archive_dest_3.

introducir descripción de imagen aquí

Tarea 5: Eliminación de la base de datos de origen de la configuración

Elimine la sincronización local de forma permanente y realice el switchover nativo desde la consola de OCI.

introducir descripción de imagen aquí

Inicie la tarea de switchover desde la consola para probar el switchover de la consola.

introducir descripción de imagen aquí

  Principal de OCI OCI en espera
Antes del switchover DB0403_primary_oci DB0403_69p_iad
Después del switchover DB0403_69p_iad DB0403_primary_oci

En la siguiente imagen se muestra la salida de DGMGRL una vez finalizado el switchover.

introducir descripción de imagen aquí

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.