Note :

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.

Image montrant l'architecture

Objectifs

Préalables

Note : Ces préalables concernent une base de données PostgreSQL sur place sur une machine virtuelle (source).

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

  1. 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;
    
  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 : Provisionner OCI GoldenGate et configurer les connexions

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

    Image présentant la création du déploiement

    Image présentant la création du déploiement

    Image présentant la création du déploiement

    Image présentant la création du déploiement

    Image présentant 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 présentant la création de SourceConnections

      Image présentant la création de SourceConnections

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

      Image présentant la création de TargetConnections

      Image présentant la création de TargetConnections

    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.

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

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

  1. Créer un extraction dans OCI GoldenGate.

    Image présentant la création d'un trandata de schéma

    Note : Ajoutez des trandata de schéma dans la base de données source pour tous les schémas admissibles et cliquez sur Soumettre.

    Image présentant la création de l'extraction

    Image présentant la création de l'extraction

    Image présentant la création du paramètre d'extraction file1

    Note : Cliquez sur CREATE (Créer) et ne cliquez pas sur CREATE and RUN (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 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 :

    1. Connectez-vous à la base de données PostgreSQL à l'aide de psql en tant qu'utilisateur doté du rôle de réplication, par exemple 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.

      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 de pg_dump et pg_restore.
  3. 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.

    Image montrant la création du positionnement de l'extraction

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

    Image montrant la création du positionnement de l'extraction

    Modifiez la position du LSN à consistent_point saisie dans la tâche 3.2.

    Image montrant la création du positionnement de l'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 montrant la création du positionnement de l'extraction

Tâche 4 : Exécuter la sauvegarde et la restauration sur la base 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 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

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

    Image présentant la création de la table de points de reprise

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

    Image présentant la création du processus de réplication

    Image présentant la création du processus de réplication

    Image présentant la création du processus de réplication

    Image présentant la création du fichier de paramètres Replicat

  3. Cliquez sur Soumettre et démarrez le processus de réplication. Laissez-le synchroniser.

    Image présentant la création du processus de réplication

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.

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.

Remerciements

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.