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.
Migre para o Oracle Cloud Infrastructure Database com PostgreSQL usando o OCI Object Storage e o Rclone
Introdução
O Oracle Cloud Infrastructure Database com PostgreSQL (OCI Database with PostgreSQL) é um serviço totalmente gerenciado que reduz o tempo gasto em tarefas de rotina, como aplicação de patches, backups e gerenciamento de armazenamento. Seus principais recursos incluem uma arquitetura de armazenamento otimizada para banco de dados que desacopla o mecanismo de processamento de transações SQL da camada de armazenamento, várias réplicas para aumentar a atividade do usuário, cópias de backup entre regiões e total compatibilidade com o banco de dados PostgreSQL de código aberto.
Observação: o PostgreSQL versões 14 e 15 tem suporte (a partir de junho de 2025).
O OCI Object Storage fornece armazenamento escalável, durável e de baixo custo para qualquer tipo de dados. Este tutorial será usado para armazenar o arquivo de dump PostgreSQL.
Rclone é um programa de linha de comando de código aberto para gerenciar ou transferir arquivos em armazenamentos na nuvem.
Neste tutorial, discutiremos como migrar dados de um banco de dados PostgreSQL on-premises com eficiência para o OCI Database with PostgreSQL. Usaremos os utilitários pg_dump
e pg_restore
aproveitando o OCI Object Storage e Rclone econômicos para upload rápido e em várias partes e o recurso mount.
Objetivos
-
Exporte o banco de dados PostgreSQL usando
pg_dump
. -
Copiar arquivos de dados exportados para o OCI Object Storage usando rclone.
-
Monte o OCI Object Storage no OCI Compute com rclone.
-
Importe dados diretamente do OCI Object Storage usando
pg_restore
.
Pré-requisitos
-
Acesso a uma conta do OCI. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
-
VCN com sub-redes públicas e privadas, certifique-se de que a porta
5432
esteja aberta na lista de segurança do OCI para a sub-rede privada. -
Uma instância do OCI Compute na sub-rede pública, atuando como bastion e nó do utilitário, com ferramentas do cliente Rclone e PostgreSQL instaladas (denominadas bastion neste tutorial, não a misture com o serviço OCI Bastion)
-
Este tutorial é baseado no Oracle Linux 8, os comandos podem diferir para outros sistemas operacionais.
-
OCI Database with PostgreSQL na sub-rede privada. Para obter mais informações, consulte Implantar o OCI Database with PostgreSQL.
-
Instância local PostgreSQL com ferramentas do cliente PostgreSQL instaladas.
Observação O OCI Database with PostgreSQL não está disponível no OCI Always Free Tier.
Tarefa 1: Criar Credenciais do Usuário da Chave de API do OCI
-
Faça log-in na Console do OCI, clique no menu de perfil
e selecione Meu perfil.
-
Em Recursos, clique em Chaves de API
-
Clique em Adicionar Chave de API no canto superior esquerdo da lista de chaves de API.
-
Clique em Fazer Download da Chave Privada e salve a chave no diretório
.oci
. Na maioria dos casos, você não precisa fazer download da chave pública. -
Clique em Adicionar.
A chave é adicionada e a Visualização do Arquivo de Configuração é exibida. O snippet de arquivo inclui os parâmetros e valores necessários que você precisará para criar seu arquivo de configuração.
user
: O OCID (Oracle Cloud Identifier) do usuário para o qual o par de chaves está sendo adicionado.fingerprint
: A impressão digital da chave recém-adicionada.tenancy
: O OCID da sua tenancy.region
: A região selecionada no momento na Console do OCI.key_file
: O caminho para seu arquivo de chave privada submetido a download. Você deve atualizar esse valor para o caminho no seu sistema de arquivos no qual salvou o arquivo de chaves privadas.
Para obter mais informações, consulte Chaves e OCIDs Necessários.
Tarefa 2: Exportar Dados PostgreSQL com o pg_dump
No seu host local, use pg_dump
para exportar o banco de dados PostgreSQL.
pg_dump -U your_username -h your_host -p your_port -F c -f /path/to/output.dump your-database-name
-U your_username
: O nome de usuário do banco de dados.-h your_host
: O host no qual o banco de dados está sendo executado (por exemplo,localhost
).-p your_port
: O número da porta (o padrão é geralmente5432
).-F c
: Formato da saída (c é para personalizado, que é flexível e restaurável viapg_restore
).-f /path/to/output.dump
: O caminho do arquivo no qual o dump será salvo.
seu nome do banco de dados: O nome do banco de dados que você deseja fazer dump.
Tarefa 3: Instalar, Configurar e Transferir Dados com o Rclone
-
No host local, instale o rclone.
sudo -v ; curl https://rclone.org/install.sh | sudo bash
-
Execute o comando a seguir para configurar o rclone.
rclone config
Para obter mais informações sobre como configurar a conexão do OCI Object Storage, consulte Documentação do clone. Use a Opção 2: um usuário do OCI e uma chave de API para autenticação (criada na Tarefa 1).
-
Use o upload em várias partes rclone para copiar o banco de dados exportado para um bucket do OCI Object Storage. Por exemplo:
rclone --progress --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10 copy <source> <dest>
Exemplo de comando e uma saída:
rclone --progress --oos-no-check-bucket --fast-list --no-traverse --transfers 8 --oos-chunk-size 10M --oos-upload-concurrency 10 --checkers 10 copy output.dump OCI:bucket_db-dump Transferred: 4.500 KiB / 4.500 KiB, 100%, 0 B/s, ETA - Transferred: 1 / 1, 100% Elapsed time: 0.0s
Para obter mais informações, consulte Copiar Dados para o Oracle Cloud Usando Rclone para Criar Insights no Oracle Analytics Cloud.
Tarefa 4: Montar o OCI Object Storage usando Rclone
-
No host bastion do OCI Compute, instale as ferramentas PostgreSQL.
dnf install postgresql
O OCI Database with PostgreSQL suporta as versões 14 e 15, portanto, instale as ferramentas PostgreSQL de acordo.
sudo dnf module reset postgresql sudo dnf module enable postgresql:15 sudo dnf install postgresql
-
Instale e configure o rclone em seu bastion host - repita a Tarefa 3, Etapa 2.
-
Monte seu bucket com seus dados copiados na Tarefa 3. Por exemplo,
/mnt/oci
.rclone mount OCI:bucket_db-dump /mnt/oci --vfs-cache-mode full --log-file /home/opc/rclone.log --config ~/.config/rclone/rclone.conf --log-level DEBUG --daemon --attr-timeout 1s
-
Verifique os arquivos no OCI Object Storage montado.
ls /mnt/oci
Tarefa 5: Restaurar o OCI Database with PostgreSQL usando pg_restore
Restaure seu banco de dados OCI Database with PostgreSQL com jobs paralelos, em segundo plano, como um processo daemon, usando o sistema de arquivos montado.
nohup pg_restore -d test -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -v -c -j 10 -F c /mnt/oci/output.dump >import.log 2>&1
O banco de dados de destino (teste neste exemplo) já deve existir antes de executar pg_restore. Para criar o banco de dados com antecedência:
createdb -U postgres -h localhost -p 5432 test
Você também pode adicionar –verbose para detalhes de progresso ou –clean para soltar objetos antes de recriá-los.
Tarefa 6: Verificar o Banco de Dados Restaurado
Usando o psql
, faça log-in no OCI Database with PostgreSQL e verifique a integridade dos dados restaurados.
psql -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -d test
Agora você pode usar instruções SQL select para verificar o número de linhas em tabelas.
Links Relacionados
Confirmações
- Autor - Sylwester Dec (Cinturão Preta de Dados de Código Aberto da OCI)
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse 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 to Oracle Cloud Infrastructure Database with PostgreSQL using OCI Object Storage and Rclone
G37266-01
Copyright ©2025, Oracle and/or its affiliates.