Remarques :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
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.
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
-
Exporter la base de données PostgreSQL à l'aide de
pg_dump
. -
Copiez les fichiers de données exportés vers OCI Object Storage à l'aide de rclone.
-
Montez OCI Object Storage vers OCI Compute avec rclone.
-
Importez des données directement à partir d'OCI Object Storage à l'aide de
pg_restore
.
Prérequis
-
Accès à un compte OCI. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
-
VCN avec des sous-réseaux publics et privés, assurez-vous que le port
5432
est ouvert dans la liste de sécurité OCI pour le sous-réseau privé. -
Instance OCI Compute dans le sous-réseau public, agissant en tant que bastion et noeud utilitaire, avec des outils client Rclone et PostgreSQL installés (appelés bastion dans ce tutoriel, ne le mélangez pas avec le service OCI Bastion)
-
Ce tutoriel est basé sur Oracle Linux 8, les commandes peuvent différer pour les autres systèmes d'exploitation.
-
OCI Database with PostgreSQL dans le sous-réseau privé. Pour plus d'informations, reportez-vous à Déploiement d'OCI Database with PostgreSQL.
-
Instance PostgreSQL locale sur site avec outils client PostgreSQL installés.
Remarque : OCI Database with PostgreSQL n'est pas disponible dans le niveau Toujours gratuit OCI.
Tâche 1 : créer des informations d'identification utilisateur de clé d'API OCI
-
Connectez-vous à la console OCI, cliquez sur le menu de profil
et sélectionnez Mon profil.
-
Dans Ressources, cliquez sur Clés d'API.
-
Cliquez sur Ajouter la clé d'API en haut à gauche de la liste des clés d'API.
-
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. -
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.
user
: OCID (Oracle Cloud Identifier) de l'utilisateur pour lequel la paire de clés est ajoutée.fingerprint
: empreinte de la clé qui vient d'être ajoutée.tenancy
: OCID de votre location.region
: région actuellement sélectionnée dans la console OCI.key_file
: chemin d'accès au fichier de clés privées téléchargé. Vous devez mettre à jour cette valeur pour indiquer le chemin vers l'emplacement du système de fichiers où vous avez enregistré le fichier de clés privées.
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
-U your_username
: nom utilisateur de la base de données.-h your_host
: hôte sur lequel la base de données est exécutée (par exemple,localhost
).-p your_port
: numéro de port (par défaut,5432
).-F c
: format de la sortie (c est personnalisé, flexible et pouvant être restauré viapg_restore
).-f /path/to/output.dump
: chemin du fichier dans lequel le vidage sera enregistré.
your-database-name : nom de la base de données à vider.
Tâche 3 : installer, configurer et transférer des données avec Rclone
-
Dans l'hôte sur site, installez rclone.
sudo -v ; curl https://rclone.org/install.sh | sudo bash
-
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).
-
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
-
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
-
Installez et configurez rclone dans votre bastion - répétez la tâche 3, étape 2.
-
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
-
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.
Liens connexes
Accusés de réception
- Auteur - Sylwester Dec (ceinture noire OCI Open Source Data)
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.
Migrate to Oracle Cloud Infrastructure Database with PostgreSQL using OCI Object Storage and Rclone
G37263-01
Copyright ©2025, Oracle and/or its affiliates.