Observação:

Migrar um Banco de Dados PostgreSQL Local para o Banco de Dados OCI com PostgreSQL usando o OCI GoldenGate

Introdução

O Oracle Cloud Infrastructure Database com PostgreSQL (OCI Database com PostgreSQL) é um serviço totalmente gerenciado que dimensiona automaticamente o armazenamento à medida que as tabelas de banco de dados são criadas ou eliminadas. Isso simplifica o gerenciamento e otimiza os custos de armazenamento para você. Os dados são criptografados em trânsito e em armazenamento.

O OCI GoldenGate oferece suporte à migração online lógica, permitindo transições perfeitas e migração quase zero de tempo de inatividade para o OCI Database com bancos de dados de serviço PostgreSQL. Esse recurso suporta a migração de bancos de dados PostgreSQL on-premises na VM para o OCI Database com bancos de dados do serviço PostgreSQL Versões 14, 15 e versões futuras.

Este tutorial descreve como o OCI GoldenGate facilita a migração de bancos de dados PostgreSQL locais na VM versão 14 para o OCI Database com bancos de dados de serviço PostgreSQL versão 14. A carga inicial é executada usando o utilitário de backup pg_dump (pg_dumpall)/pg_restore. Isso criará um backup ou snapshot do banco de dados de origem, que será restaurado no sistema de destino, seguido pela replicação do OCI GoldenGate Change Data Capture (CDC) para sincronizar a origem (bancos de dados VM PostgreSQL locais) e o destino (Banco de Dados do OCI com o serviço PostgreSQL).

A imagem a seguir mostra a arquitetura para migrar um banco de dados PostgreSQL local na VM para o OCI Database com o serviço PostgreSQL usando o OCI GoldenGate.

Imagem mostrando Arquitetura

Objetivos

Pré-requisitos

Observação: Esses pré-requisitos são para um banco de dados PostgreSQL local na VM (origem).

Tarefa 1: Preparar Ambiente do Banco de Dados de Origem

  1. Execute a consulta a seguir para criar um usuário de replicação. Esse usuário deve ser usado enquanto criamos uma conexão na Console do OCI.

    create user ggadmin with password ‘<<password>>’;
    GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin;
    alter user ggadmin replication;
    alter user ggadmin with superuser;
    
  2. O parâmetro a seguir deve ser alterado e o sistema de banco de dados deve ser reiniciado para que wal_level seja modificado.

    ALTER SYSTEM SET wal_level = logical;
    ALTER SYSTEM SET track_commit_timestamp = on;
    

Tarefa 2: Provisionar o OCI GoldenGate e Configurar Conexões

  1. Faça log-in na Console do OCI e crie a implantação do banco de dados OCI GoldenGate para PostgreSQL.

    Imagem mostrando a Criação da Implantação

    Imagem mostrando a Criação da Implantação

    Imagem mostrando a Criação da Implantação

    Imagem mostrando a Criação da Implantação

    Imagem mostrando a Criação da Implantação

  2. Criar a conexão GoldenGate do OCI para o OCI PostgreSQL.

    1. Informe os detalhes da conexão de origem e clique em Criar.

      Imagem mostrando a Criação de SourceConnections

      Imagem mostrando a Criação de SourceConnections

    2. Informe os detalhes da conexão de destino e clique em Criar.

      Imagem mostrando a Criação de TargetConnections

      Imagem mostrando a Criação de TargetConnections

    Observação: Se a conexão for criada para VM, o protocolo SSL deverá ser Simples e, para o OCI Database com o serviço PostgreSQL, o protocolo SSL deverá ser Exigir.

  3. Clique em Criar para criar a conexão.

Tarefa 3: Configurar a Replicação do Banco de Dados de Origem

  1. Criar Extração no OCI GoldenGate.

    Imagem mostrando a Criação de trandata do Esquema

    Observação: adicione trandata de esquema no banco de dados de origem para todos os esquemas elegíveis e clique em Submeter.

    Imagem mostrando a Criação da Criação da Extração

    Imagem mostrando a Criação da Criação da Extração

    Imagem mostrando a Criação do parâmetro Extract file1

    Observação: clique em CREATE e não clique em CREATE and RUN.

  2. Crie um slot de replicação temporário no banco de dados de origem que será usado para criar um ponto inicial para nosso processo Extract e para posicionar o snapshot PostgreSQL. Isso pode ser feito usando o comando CREATE_REPLICATION_SLOT. Siga as etapas para configurar o slot de replicação temporária:

    1. Faça log-in no banco de dados PostgreSQL usando psql como usuário com a atribuição de replicação, como usuário postgres ou ggadmin.

    2. Use a opção replication=database.

      psql "dbname=pgsource replication=database user=postgres" 
      CREATE_REPLICATION_SLOT tslot TEMPORARY LOGICAL test_decoding EXPORT_SNAPSHOT;
      slot_name | consistent_point | snapshot_name | output_plugin
      ----------+------------------+---------------+--------------------- 
          tslot | 1/4232A6B0 | 00000007-00001142-1 | test_decoding 
      
    3. Observe os detalhes snapshot_name e consistent_point.

      Observação:

      • consistent_point deve ser usado para posicionar o OCI GoldenGate Extract e iniciar o Extract para capturar as transações de CDC.
      • snapshot_name deve ser usado para a carga inicial do banco de dados de origem para destino usando pg_dump e pg_restore.
  3. Posicione o OCI Goldengate Extract em consistent_point Log Sequence Number (LSN).

    A extração CDC criada estará no estado interrompido.

    Imagem mostrando a Criação do posicionamento de Extract

    Em Ações, clique no ícone ... e selecione Alterar.

    Imagem mostrando a Criação do posicionamento de Extract

    Altere a posição do LSN para consistent_point capturado na Tarefa 3.2.

    Imagem mostrando a Criação do posicionamento de Extract

  4. Clique em Enviar e inicie o processo de extração.

    O Extract estará no estado de execução e iniciará a captura do CDC na posição alterada.

    Imagem mostrando a Criação do posicionamento de Extract

Tarefa 4: Executar Backup e Restauração no Banco de Dados de Origem e de Destino

  1. Execute o comando a seguir para fazer backup do banco de dados principal de origem.

    nohup /u01/pgsql-14/bin/pg_dump -h <<Sourceip>> -p 5432 -U <<superuser/ggadmin user>> –snapshot=00000007-00001142-1 -F c -b -v -f latestdump.db pgsource &
    
  2. Execute o comando a seguir para restaurar os dumps para o banco de dados de destino.

    nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
    

Tarefa 5: Configurar a Replicação do Banco de Dados de Destino

  1. Crie a Tabela de Checkpoint em qualquer esquema disponível no banco de dados de destino GoldenGate do OCI e clique em Submeter.

    Imagem mostrando a Criação da tabela de Checkpoint

  2. Crie o processo Replicat com a conexão do banco de dados de destino para aplicar os dados do CDC ao banco de dados de destino.

    Imagem mostrando a Criação de Replicat

    Imagem mostrando a Criação de Replicat

    Imagem mostrando a Criação de Replicat

    Imagem mostrando a Criação do arquivo de parâmetros Replicat

  3. Clique em enviar e inicie o processo Replicat. Permitir sincronizar.

    Imagem mostrando a Criação de Replicat

Tarefa 6: Executar a Migração Real

Transição do banco de dados VM PostgreSQL local para o OCI Database com o serviço PostgreSQL.

Tarefa 7: Validar a Migração

Verifique os objetos e dados do banco de dados transferido no sistema de banco de dados de destino no OCI Database com PostgreSQL para garantir que a migração foi bem-sucedida e não há problemas ou discrepâncias.

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.