Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
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.
Objetivos
- Migre para o OCI Database com o serviço PostgreSQL usando o OCI GoldenGate.
Pré-requisitos
Observação: Esses pré-requisitos são para um banco de dados PostgreSQL local na VM (origem).
-
Plug-in
test_decoding
: O OCI GoldenGate requer que o plug-in de banco de dadostest_decoding
seja instalado no banco de dados PostgreSQL. Este plugin pode não ser instalado por padrão. -
Pacote de Contribuição PostgreSQL: Certifique-se de que o pacote
postgresqlversion#-contrib
esteja instalado no servidor de banco de dados. -
Compatibilidade da Biblioteca do Cliente: As bibliotecas do cliente PostgreSQL devem corresponder à versão do banco de dados. Observe que as versões do cliente abaixo de 10 não são suportadas.
sudo yum install postgresql14-contrib (our database is version 14)
Tarefa 1: Preparar Ambiente do Banco de Dados de Origem
-
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;
-
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
-
Faça log-in na Console do OCI e crie a implantação do banco de dados OCI GoldenGate para PostgreSQL.
-
Criar a conexão GoldenGate do OCI para o OCI PostgreSQL.
-
Informe os detalhes da conexão de origem e clique em Criar.
-
Informe os detalhes da conexão de destino e clique em Criar.
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.
-
-
Clique em Criar para criar a conexão.
Tarefa 3: Configurar a Replicação do Banco de Dados de Origem
-
Criar Extração no OCI GoldenGate.
Observação: adicione trandata de esquema no banco de dados de origem para todos os esquemas elegíveis e clique em Submeter.
Observação: clique em CREATE e não clique em CREATE and RUN.
-
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:-
Faça log-in no banco de dados PostgreSQL usando
psql
como usuário com a atribuição de replicação, como usuáriopostgres
ouggadmin
. -
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
-
Observe os detalhes
snapshot_name
econsistent_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 usandopg_dump
epg_restore
.
-
-
Posicione o OCI Goldengate Extract em
consistent_point
Log Sequence Number (LSN).A extração CDC criada estará no estado interrompido.
Em Ações, clique no ícone ... e selecione Alterar.
Altere a posição do LSN para
consistent_point
capturado na Tarefa 3.2. -
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.
Tarefa 4: Executar Backup e Restauração no Banco de Dados de Origem e de Destino
-
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 &
-
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
-
Crie a Tabela de Checkpoint em qualquer esquema disponível no banco de dados de destino GoldenGate do OCI e clique em Submeter.
-
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.
-
Clique em enviar e inicie o processo Replicat. Permitir sincronizar.
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.
-
Execute o ramp down do aplicativo conectado ao banco de dados da VM de origem.
-
Certifique-se de que não haja conexões de banco de dados com o banco de dados da VM de origem.
-
Certifique-se de que não haja atraso no processo Extract/Replicat e execute a transferência apontando o aplicativo para o Banco de Dados do OCI de destino com o serviço PostgreSQL interrompendo o processo Extract/Replicat.
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.
Links Relacionados
- Migre perfeitamente um banco de dados PostgreSQL local para o OCI Database com PostgreSQL usando o OCI GoldenGate
- Como Importar, Exportar e Migrar Bancos de Dados
- Instanciação Preciso entre Ambientes PostgreSQL Usando pg_dump
Confirmações
- Autor - Saravanadurai Rajendran (Especialista em Implementação de Elevação - Banco de Dados)
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.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29130-01
Copyright ©2025, Oracle and/or its affiliates.