Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Migrer une base de données PostgreSQL sur place vers une base de données OCI avec PostgreSQL à l'aide d'OCI GoldenGate
Présentation
Oracle Cloud Infrastructure Database avec PostgreSQL (OCI Database avec PostgreSQL) est un service entièrement géré qui adapte automatiquement le stockage à mesure que les tables de base de données sont créées ou supprimées. Cela simplifie la gestion et optimise les coûts de stockage pour vous. Les données sont chiffrées en transit et au repos.
OCI GoldenGate prend en charge la migration en ligne logique permettant des transitions transparentes et une migration sans temps d'arrêt pour OCI avec des bases de données du service PostgreSQL. Cette fonction prend en charge la migration des bases de données PostgreSQL sur place sur une machine virtuelle vers une base de données OCI avec les versions 14, 15 du service PostgreSQL et les versions futures.
Ce tutoriel décrit comment OCI GoldenGate facilite la migration des bases de données PostgreSQL sur place sur la version 14 de la machine virtuelle vers la base de données OCI avec la version 14 des bases de données du service PostgreSQL. Le chargement initial est effectué à l'aide de l'utilitaire de sauvegarde pg_dump
(pg_dumpall
)/pg_restore
. Cela créera une sauvegarde ou un instantané de la base de données source, qui sera restaurée sur le système cible, suivie de la réplication de la saisie de données de modification (CDC) OCI GoldenGate pour synchroniser la source (bases de données PostgreSQL sur machine virtuelle sur place) et la cible (base de données OCI avec service PostgreSQL).
L'image suivante présente l'architecture de migration d'une base de données PostgreSQL sur place sur une machine virtuelle vers une base de données OCI avec le service PostgreSQL à l'aide d'OCI GoldenGate.
Objectifs
- Migrer vers la base de données OCI avec le service PostgreSQL à l'aide d'OCI GoldenGate.
Préalables
Note : Ces préalables concernent une base de données PostgreSQL sur place sur une machine virtuelle (source).
-
Plugiciel
test_decoding
: OCI GoldenGate nécessite l'installation du plugiciel de base de donnéestest_decoding
sur la base de données PostgreSQL. Ce plugiciel ne peut pas être installé par défaut. -
PostgreSQL Ensemble de contributions : Assurez-vous que l'ensemble
postgresqlversion#-contrib
est installé sur le serveur de base de données. -
Compatibilité avec la bibliothèque client : Les bibliothèques client PostgreSQL doivent correspondre à la version de la base de données. Notez que les versions de 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 base de données source
-
Exécutez l'interrogation 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 : Provisionner OCI GoldenGate et configurer les 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.
Note : Si la connexion est créée pour une machine virtuelle, le protocole SSL doit être Plain et pour une base de données OCI avec 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 base de données source
-
Créer un extraction dans OCI GoldenGate.
Note : Ajoutez des trandata de schéma dans la base de données source pour tous les schémas admissibles et cliquez sur Soumettre.
Note : Cliquez sur CREATE (Créer) et ne cliquez pas sur CREATE and RUN (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 positionner l'instantané PostgreSQL. Cette opération peut être effectuée à l'aide de 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 doté du rôle de réplication, par exemplepostgres
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
.Note :
consistent_point
doit être utilisé pour positionner l'extraction OCI GoldenGate et démarrer l'extraction pour saisir 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 Goldengate OCI sur
consistent_point
Numéro de séquence de journal (LSN).L'extraction CDC créée sera arrêtée.
Sous Actions, cliquez sur l'icône … et sélectionnez Modifier.
Modifiez la position du LSN à
consistent_point
saisie 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 la base 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 vidages dans 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 une table de points de vérification dans n'importe quel schéma disponible sur la base de données cible OCI GoldenGate et cliquez sur Soumettre.
-
Créez le processus de réplication avec la connexion à la base de données cible pour appliquer les données CDC à la base de données cible.
-
Cliquez sur Soumettre et démarrez le processus de réplication. Laissez-le synchroniser.
Tâche 6 : Exécuter la migration réelle
Mise en service de la base de données PostgreSQL de la machine virtuelle sur place vers la base de données OCI avec le service PostgreSQL.
-
Effectuer l'abaissement de l'application connectée à la base de données de machine virtuelle source.
-
Assurez-vous qu'il n'y a aucune connexion à la base de données de la machine virtuelle source.
-
Assurez-vous qu'il n'y a pas de décalage dans le processus d'extraction/de réplication et effectuez la mise en service 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 objets de base de données et les données transférés sur le système de base de données cible dans la base de données OCI à l'aide de PostgreSQL pour vous assurer que la migration a réussi et qu'il n'y a aucun problème ou écart.
Liens connexes
- Migrez de façon transparente une base de données PostgreSQL sur place vers une base de données OCI avec PostgreSQL à l'aide d'OCI GoldenGate
- Importer, exporter et migrer des bases de données
- Instanciation précise entre les environnements PostgreSQL à l'aide de pg_dump
Remerciements
- Auteur - Saravanadurai Rajendran (Spécialiste de la mise en œuvre des ascenseurs - Base de données)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29125-01
Copyright ©2025, Oracle and/or its affiliates.