Remarques :

Migration vers Oracle Cloud Infrastructure Database avec PostgreSQL à l'aide d'OCI Object Storage et de Rclone

Introduction

Oracle Cloud Infrastructure Database with PostgreSQL (OCI Database with PostgreSQL) is a fully managed service that reduces the time spent on routine tasks such as patching, backups and storage management. Ses principales fonctionnalités incluent une architecture de stockage optimisée pour la base de données qui dissocie le moteur de traitement des transactions SQL de la couche de stockage, plusieurs répliques pour stimuler l'activité des utilisateurs, des copies de sauvegarde interrégionales et une compatibilité totale avec la base de données open source PostgreSQL.

OCI Database with PostgreSQL

Remarque : les versions 14 et 15 de PostgreSQL sont prises en charge (à partir de juin 2025).

OCI Object Storage fournit un stockage évolutif, durable et à faible coût pour tous les types de données. Ce tutoriel sera utilisé pour stocker le fichier dump PostgreSQL.

Rclone est un programme de ligne de commande open source permettant de gérer ou de transférer des fichiers sur des stockages cloud.

Dans ce tutoriel, nous allons discuter de la façon de migrer efficacement les données d'une base de données PostgreSQL sur site vers OCI Database with PostgreSQL. Nous utiliserons les utilitaires pg_dump et pg_restore en tirant parti d'OCI Object Storage et de Rclone rentables pour un téléchargement multipart rapide et la fonctionnalité de montage.

Objectifs

Prérequis

Remarque : OCI Database with PostgreSQL n'est pas disponible dans le niveau Toujours gratuit OCI.

Architecture simplifiée

Tâche 1 : créer des informations d'identification utilisateur de clé d'API OCI

  1. Connectez-vous à la console OCI, cliquez sur le menu de profil Icône du menu Profil et sélectionnez Mon profil.

  2. Dans Ressources, cliquez sur Clés d'API.

  3. Cliquez sur Ajouter la clé d'API en haut à gauche de la liste des clés d'API.

  4. Cliquez sur Télécharger une clé privée en local et enregistrez la clé dans le répertoire .oci. Dans la plupart des cas, vous n'avez pas besoin de télécharger la clé publique.

  5. Cliquez sur Ajouter.

La clé est ajoutée et l'aperçu du fichier de configuration apparaît. Le fragment de code de fichier inclut les paramètres et valeurs requis pour créer le fichier de configuration.

Pour plus d'informations, reportez-vous à Clés et OCID requis.

Tâche 2 : exporter les données PostgreSQL avec pg_dump

Dans l'hôte sur site, utilisez pg_dump pour exporter la base de données PostgreSQL.

pg_dump -U your_username -h your_host -p your_port -F c -f /path/to/output.dump your-database-name

Tâche 3 : installer, configurer et transférer des données avec Rclone

  1. Dans l'hôte sur site, installez rclone.

    sudo -v ; curl https://rclone.org/install.sh | sudo bash
    
  2. Exécutez la commande suivante pour configurer rclone.

    rclone config
    

    Pour plus d'informations sur la configuration de la connexion à OCI Object Storage, reportez-vous à la documentation sur le clonage. Utilisez l'option 2 : un utilisateur OCI et une clé d'API pour l'authentification (créée dans la tâche 1).

  3. Utilisez le téléchargement multipart rclone pour copier la base de données exportée vers un bucket OCI Object Storage. Exemple :

    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>
    

    Exemple de commande et sortie :

    	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
    
    

    Pour plus d'informations, reportez-vous à Copie de données vers Oracle Cloud à l'aide de Rclone pour créer des informations clés dans Oracle Analytics Cloud.

Tâche 4 : montage d'OCI Object Storage à l'aide de Rclone

  1. Dans l'hôte de bastion OCI Compute, installez les outils PostgreSQL.

    dnf install postgresql
    

    OCI Database with PostgreSQL prend en charge les versions 14 et 15. Installez donc les outils PostgreSQL en conséquence.

    sudo dnf module reset postgresql
    sudo dnf module enable postgresql:15
    sudo dnf install postgresql
    
  2. Installez et configurez rclone dans votre bastion - répétez la tâche 3, étape 2.

  3. Montez le bucket avec les données copiées dans la tâche 3. Par exemple, /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
    
  4. Vérifiez les fichiers sur OCI Object Storage monté.

    ls /mnt/oci
    

Tâche 5 : restaurer OCI Database with PostgreSQL à l'aide de pg_restore

Restaurez votre base de données OCI Database with PostgreSQL avec des travaux parallèles, en arrière-plan, en tant que processus démon, à l'aide d'un système de fichiers monté.

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

La base de données cible (test dans cet exemple) doit déjà exister avant d'exécuter pg_restore. Pour créer la base de données à l'avance :

createdb -U postgres -h localhost -p 5432 test

Vous pouvez également ajouter –verbose pour les détails de progression ou –clean pour supprimer des objets avant de les recréer.

Tâche 6 : vérifier la base de données restaurée

A l'aide de psql, connectez-vous à OCI Database with PostgreSQL et vérifiez que les données restaurées sont complètes.

psql -h <OCI PostgreSQL hostname or IP> -p 5432 -U <dbuser> -d test

Vous pouvez désormais utiliser des instructions SQL SELECT pour vérifier le nombre de lignes dans les tables.

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.