Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeurs 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 d'une base de données PostgreSQL sur site vers une base de données OCI avec PostgreSQL à l'aide d'OCI GoldenGate
Introduction
Oracle Cloud Infrastructure Database avec PostgreSQL (OCI Database avec PostgreSQL) est un service entièrement géré qui redimensionne automatiquement le stockage lors de la création ou de la suppression de tables de base de données. Cela simplifie la gestion et optimise les coûts de stockage pour vous. Les données sont cryptées, qu'elles soient en transit ou au repos.
OCI GoldenGate prend en charge la migration en ligne logique permettant des transitions transparentes et une migration quasiment sans temps d'arrêt pour OCI Database avec des bases de données de service PostgreSQL. Cette fonctionnalité prend en charge la migration des bases de données PostgreSQL sur site sur machine virtuelle vers OCI Database avec les versions 14, 15 des bases de données du service PostgreSQL et les versions futures.
Ce tutoriel explique comment OCI GoldenGate facilite la migration des bases de données PostgreSQL sur site sur la machine virtuelle version 14 vers OCI Database avec les bases de données de service PostgreSQL version 14. Le chargement initial est effectué à l'aide de l'utilitaire de sauvegarde pg_dump
(pg_dumpall
)/pg_restore
. Cette opération crée une sauvegarde ou un cliché de la base de données source, qui sera restauré sur le système cible, suivi de la réplication OCI GoldenGate Change Data Capture (CDC) pour synchroniser la source (bases de données de machine virtuelle sur site PostgreSQL) et la cible (base de données OCI avec le service PostgreSQL).
L'image suivante présente l'architecture permettant de migrer une base de données PostgreSQL sur site sur une machine virtuelle vers une base de données OCI avec le service PostgreSQL à l'aide d'OCI GoldenGate.
Objectifs
- Migrez vers OCI Database avec le service PostgreSQL à l'aide d'OCI GoldenGate.
Prérequis
Remarque : ces prérequis concernent une base de données PostgreSQL sur site sur une machine virtuelle (source).
-
Module d'extension
test_decoding
: OCI GoldenGate requiert l'installation du module d'extension de base de donnéestest_decoding
sur la base de données PostgreSQL. Ce plugin n'est peut-être pas installé par défaut. -
Package de contribution PostgreSQL : assurez-vous que le package
postgresqlversion#-contrib
est installé sur le serveur de base de données. -
Compatibilité des bibliothèques client : les bibliothèques client PostgreSQL doivent correspondre à la version de la base de données. Notez que les versions client inférieures à 10 ne sont pas prises en charge.
sudo yum install postgresql14-contrib (our database is version 14)
Tâche 1 : préparer l'environnement de la base de données source
-
Exécutez la requête suivante pour créer un utilisateur de réplication. Cet utilisateur doit être utilisé lors de la création d'une connexion dans la console OCI.
create user ggadmin with password ‘<<password>>’; GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin; alter user ggadmin replication; alter user ggadmin with superuser;
-
Le paramètre suivant doit être modifié et le système de base de données doit être redémarré pour que
wal_level
soit modifié.ALTER SYSTEM SET wal_level = logical; ALTER SYSTEM SET track_commit_timestamp = on;
Tâche 2 : provisionnement d'OCI GoldenGate et configuration des connexions
-
Connectez-vous à la console OCI et créez le déploiement d'OCI GoldenGate pour la base de données PostgreSQL.
-
Créez la connexion OCI GoldenGate pour OCI PostgreSQL.
-
Entrez les détails de la connexion source et cliquez sur Créer.
-
Entrez les détails de la connexion cible et cliquez sur Créer.
Remarque : si la connexion est créée pour la machine virtuelle, le protocole SSL doit être Plain et pour la base de données OCI avec le service PostgreSQL, le protocole SSL doit être Require.
-
-
Cliquez sur Créer pour créer la connexion.
Tâche 3 : configurer la réplication de la base de données source
-
Créez Extract dans OCI GoldenGate.
Remarque : ajoutez des données de transaction de schéma dans la base de données source pour tous les schémas admissibles, puis cliquez sur Soumettre.
Remarque : cliquez sur Créer et ne cliquez pas sur Créer et exécuter.
-
Créez un emplacement de réplication temporaire dans la base de données source qui sera utilisé pour créer un point de départ pour notre processus d'extraction et pour le positionnement de l'instantané PostgreSQL. Pour ce faire, utilisez la commande
CREATE_REPLICATION_SLOT
. Pour configurer l'emplacement de réplication temporaire, procédez comme suit :-
Connectez-vous à la base de données PostgreSQL à l'aide de
psql
en tant qu'utilisateur disposant du rôle de réplication, tel quepostgres
ouggadmin
. -
Utilisez l'option
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
-
Notez les détails
snapshot_name
etconsistent_point
.Remarque :
consistent_point
doit être utilisé pour positionner l'extraction OCI GoldenGate et démarrer l'extraction afin de capturer les transactions CDC.snapshot_name
doit être utilisé pour le chargement initial de la base de données source vers la base de données cible à l'aide depg_dump
etpg_restore
.
-
-
Positionnez l'extraction OCI Goldengate sur le numéro de séquence de journal (LSN)
consistent_point
.L'extraction CDC créée sera à l'état Arrêté.
Sous Actions, cliquez sur l'icône ... et sélectionnez Modifier.
Modifiez la position de LSN en
consistent_point
capturée dans la tâche 3.2. -
Cliquez sur Soumettre et lancez le processus d'extraction.
L'extraction sera en cours d'exécution et démarrera la capture CDC à partir de la position modifiée.
Tâche 4 : exécuter la sauvegarde et la restauration sur les bases de données source et cible
-
Exécutez la commande suivante pour sauvegarder la base de données principale source.
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 &
-
Exécutez la commande suivante pour restaurer les fichiers dump vers la base de données cible.
nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
Tâche 5 : configurer la réplication de base de données cible
-
Créez la table de point de reprise dans n'importe quel schéma disponible sur la base de données cible OCI GoldenGate et cliquez sur Soumettre.
-
Créez le processus Replicat avec la connexion à la base de données cible pour appliquer les données CDC à la base de données cible.
-
Cliquez sur envoyer et lancez la réplication. Permet la synchronisation.
Tâche 6 : effectuer la migration réelle
Basculement de la base de données de machine virtuelle PostgreSQL sur site vers la base de données OCI avec le service PostgreSQL.
-
Effectuez une descente d'application connectée à la base de données de machine virtuelle source.
-
Assurez-vous qu'il n'existe aucune connexion de base de données à la base de données de machine virtuelle source.
-
Assurez-vous qu'il n'y a pas de décalage dans le processus d'extraction/de réplication et effectuez le basculement pointant l'application vers la base de données OCI cible avec le service PostgreSQL arrêtant le processus d'extraction/de réplication.
Tâche 7 : valider la migration
Vérifiez les données et les objets de base de données transférés sur le système de base de données cible dans la base de données OCI avec PostgreSQL pour vous assurer que la migration a réussi et qu'il n'y a aucun problème ou divergence.
Liens connexes
- Migration transparente d'une base de données PostgreSQL sur site vers OCI Database avec PostgreSQL à l'aide d'OCI GoldenGate
- Import, export et migration de bases de données
- Instanciation précise entre les environnements PostgreSQL à l'aide de pg_dump
Remerciements
- Auteur - Saravanadurai Rajendran (Spécialiste de l'implémentation de l'ascenseur - Base de données)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation produit, consultez le site Oracle Help Center.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29126-01
Copyright ©2025, Oracle and/or its affiliates.