Observação:

Implementar a Automação de Recuperação de Desastres Nativa da Nuvem do Oracle Zero Downtime Migration 21.5

Introdução

Em uma migração típica, o Oracle Zero Downtime Migration migra um banco de dados de origem para apenas um banco de dados de destino (um único ponto de falha). Agora, na versão 21.5, você também pode criar uma estratégia de DR (Recuperação de Desastres) durante a pós-migração para poder responder e recuperar de um evento que afeta negativamente suas operações de negócios. Dois bancos de dados de destino são instanciados durante a migração (banco de dados principal de destino e banco de dados stand-by de destino), em que ambos podem estar em regiões diferentes (para reduzir os impactos de desastres naturais). Durante a pós-migração, a configuração do broker do Oracle Data Guard é restaurada nos dois bancos de dados de destino para permitir operações nativas da nuvem, como switchover e failover (na console do Oracle Database Cloud Service). Para obter mais informações, consulte Criando uma Estratégia de Recuperação de Desastres Nativa da Oracle Cloud.

Diagrama de Arquitetura

Arquitetura

Etapas do Workflow do Oracle Zero Downtime Migration

  1. Iniciar migração do banco de dados.
  2. Execute uma restauração do serviço.
  3. Instancie o banco de dados stand-by no principal de destino.
  4. Sincronize o principal e o stand-by no principal de destino.
  5. Execute a restauração do serviço.
  6. Instancie o banco de dados stand-by no stand-by de destino.
  7. Sincronizar stand-bys de origem e destino.
  8. Monitore a prontidão para switchover.
  9. Execute a transição de switchover e atribuição.
  10. Configure a configuração principal de destino e restaure o Cloud Broker.
    1. O Oracle Zero Downtime Migration restaura a configuração do cloud broker entre o destino da nuvem principal e o destino da nuvem stand-by.
    2. O Oracle Zero Downtime Migration configura o principal de destino para enviar redo logs para o stand-by de destino.
  11. Executar verificações de pós-validação.
  12. Finalize o processo de migração.

Observação: O Oracle Base Database Service, o Oracle Exadata Database Service on Dedicated Infrastructure, o Oracle Exadata Database Service on Cloud@Customer, o Exadata on-premises e o Oracle Exadata Database Service on Dedicated Infrastructure on Oracle Database@Azure suportam esse workflow.

Pré-requisitos

Tarefa 1: Tarefas de Pré-Migração

As etapas a seguir explicam as tarefas de pré-requisito a serem concluídas antes da migração real.

  1. Instale o software no sistema de origem. O build zdmcli exibe a versão dos binários. Para obter mais informações, consulte Instalar o Software no Sistema de Origem.

    inserir a descrição da imagem aqui

  2. Conforme mencionado nos Pré-requisitos, a configuração de DR foi configurada entre as máquinas do Sistema de Banco de Dados de Máquina Virtual principal e stand-by de destino do OCI, conforme mostrado na imagem a seguir.

    inserir a descrição da imagem aqui

    Inventário do Banco de Dados e do Servidor:

    Nome Valor
    Nome e versão do BD Db0403 & 19c
    Nome do host de origem (onpremises) origem do banco de dados
    Nome do host "Destino Principal" do OCI ociserverprimary
    Nome para exibição da console "Destino Principal" do OCI OCI_FUTURE_PRIMARY
    Nome do host "Standby de Destino" do OCI ociserverstandby
    Nome para exibição da console "Stand-by de Destino" do OCI OCI_FUTURE_STANDBY
    Nome do PDB Db0403_Pdb1
    &Versão do nome do servidor ZDM oficina & 21.5

    As imagens a seguir mostram os detalhes do banco de dados principal de destino do OCI e dos sistemas de banco de dados stand-by de destino.

    inserir a descrição da imagem aqui

    inserir a descrição da imagem aqui

  3. O banco de dados de origem tem o log forçado e o modo de log de arquivamento ativados e pode ser verificado usando o comando a seguir.

    select force_logging ,log_mode from v$database;
    FORCE_LOGGING  LOG_MODE
    --------------------------------------- ------------
    YES  ARCHIVELOG
    
  4. Execute o comando tnsping para testar a porta 1521 ativada entre os servidores principais de origem e destino e vice-versa para remessa de log.

  5. O servidor do Oracle Zero Downtime Migration deve poder usar SSH como zdmuser para originar e também direcionar servidores stand-by principais e de destino como usuário do OPC. Aqui, o usuário do SO do servidor de origem também é OPC usado nesta migração junto com o nome de usuário do OPC do SO de destino.

    inserir a descrição da imagem aqui

  6. Atualizou o arquivo /etc/hosts do servidor de origem com as informações principal e stand-by de destino.

    inserir a descrição da imagem aqui

  7. Atualizado o arquivo /etc/hosts do servidor principal futuro do OCI com as entradas mostradas na imagem a seguir.

    inserir a descrição da imagem aqui

  8. Atualizado o arquivo `/etc/hosts` do servidor stand-by futuro do OCI com as entradas mostradas na imagem a seguir.

    inserir a descrição da imagem aqui

  9. Arquivo /etc/hosts do servidor de host do serviço Oracle Zero Downtime Migration atualizado com as entradas mostradas na imagem a seguir.

    inserir a descrição da imagem aqui

Tarefa 2: Avaliar Job do Oracle Zero Downtime Migration

Verifique o comando de preparação do Oracle Zero Downtime Migration usando o comando de flag -eval. -eval não inicia a migração real; ele será usado para avaliação de pré-verificações e preparação de ambientes.

Execute o seguinte 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

Saída:

inserir a descrição da imagem aqui

Os parâmetros do arquivo de resposta serão usados para a migração final.

inserir a descrição da imagem aqui

Tarefa 3: Instanciar o Job de Migração Final

O status do job EVAL é bem-sucedido na Tarefa 2 e o comando a seguir é usado para iniciar a migração.

/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

Flag pauseafter adicionado ao comando de migração para pausar a migração após a fase ZDM_CONFIGURE_DG_TGT. Agora o job foi concluído com sucesso até a fase ZDM_CONFIGURE_DG_TGT e pausado conforme esperado.

Resultados da Migração:

[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 ~]$

O job de migração foi pausado antes da etapa de switchover. Os bancos de dados principal e stand-by futuros do OCI são alterados para o modo stand-by físico e o broker do Oracle Data Guard é configurado pelo job do Oracle Zero Downtime Migration com todos os três bancos de dados na configuração e todos estão em sincronia.

inserir a descrição da imagem aqui

Tarefa 4: Iniciar Fase de Alternância do Job de Migração

Vamos iniciar o switchover retomando o job do Oracle Zero Downtime Migration e o job da Tarefa 3, que é 13.

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

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

O comando zdmcli query job -jobid 13 fornece o status do job e o job está marcado como bem-sucedido agora.

Saída:

[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 ~]$

O comando DGMGRL é executado do OCI principal de destino (agora é principal atual) à medida que o switchover do banco de dados é executado. O stand-by de destino do OCI ainda está no modo Stand-by conforme esperado e a origem foi alterada da atribuição principal para stand-by físico.

inserir a descrição da imagem aqui

Apesar do banco de dados stand-by on-premises não ser exibido na configuração do broker, ele continua recebendo os redo logs do banco de dados principal do OCI para o banco de dados on-premises de origem e pode ser verificado usando switches de log ou valor log_archive_dest_3.

inserir a descrição da imagem aqui

Tarefa 5: Remover Banco de Dados de Origem da Configuração

Remova a sincronização local permanentemente e faça o switchover nativo da Console do OCI.

inserir a descrição da imagem aqui

Inicie a tarefa de switchover da console para testar o switchover da console.

inserir a descrição da imagem aqui

  Principal do OCI Stand-by do OCI
Antes do Switchover DB0403_primary_oci DB0403_69p_iad
Após Switchover DB0403_69p_iad DB0403_primary_oci

A imagem a seguir mostra a saída DGMGRL após a conclusão do switchover.

inserir a descrição da imagem aqui

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.