Remarques :

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.

Image illustrant l'architecture

Objectifs

Prérequis

Remarque : ces prérequis concernent une base de données PostgreSQL sur site sur une machine virtuelle (source).

Tâche 1 : préparer l'environnement de la base de données source

  1. 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;
    
  2. 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

  1. Connectez-vous à la console OCI et créez le déploiement d'OCI GoldenGate pour la base de données PostgreSQL.

    Image illustrant la création du déploiement

    Image illustrant la création du déploiement

    Image illustrant la création du déploiement

    Image illustrant la création du déploiement

    Image illustrant la création du déploiement

  2. Créez la connexion OCI GoldenGate pour OCI PostgreSQL.

    1. Entrez les détails de la connexion source et cliquez sur Créer.

      Image illustrant la création de SourceConnections

      Image illustrant la création de SourceConnections

    2. Entrez les détails de la connexion cible et cliquez sur Créer.

      Image illustrant la création de TargetConnections

      Image illustrant la création de TargetConnections

    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.

  3. Cliquez sur Créer pour créer la connexion.

Tâche 3 : configurer la réplication de la base de données source

  1. Créez Extract dans OCI GoldenGate.

    Illustration de la création d'un trandata de schéma

    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.

    Illustration de la création de l'extraction

    Illustration de la création de l'extraction

    Illustration de la création du paramètre d'extraction file1

    Remarque : cliquez sur Créer et ne cliquez pas sur Créer et exécuter.

  2. 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 :

    1. Connectez-vous à la base de données PostgreSQL à l'aide de psql en tant qu'utilisateur disposant du rôle de réplication, tel que postgres ou ggadmin.

    2. 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 
      
    3. Notez les détails snapshot_name et consistent_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 de pg_dump et pg_restore.
  3. 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é.

    Image illustrant la création du positionnement d'extraction

    Sous Actions, cliquez sur l'icône ... et sélectionnez Modifier.

    Image illustrant la création du positionnement d'extraction

    Modifiez la position de LSN en consistent_point capturée dans la tâche 3.2.

    Image illustrant la création du positionnement d'extraction

  4. 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.

    Image illustrant la création du positionnement d'extraction

Tâche 4 : exécuter la sauvegarde et la restauration sur les bases de données source et cible

  1. 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 &
    
  2. 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

  1. 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.

    Illustration de la création de la table de point de reprise

  2. 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.

    Illustration de la création d'une réplication

    Illustration de la création d'une réplication

    Illustration de la création d'une réplication

    Illustration de la création du fichier de paramètres de réplication

  3. Cliquez sur envoyer et lancez la réplication. Permet la synchronisation.

    Illustration de la création d'une réplication

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.

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.

Remerciements

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.