Répliquer des données de PostgresSQL vers Snowflake à l'aide du gestionnaire Streaming

Découvrez comment utiliser OCI GoldenGate pour répliquer des données de PostgreSQL vers Snowflake à l'aide du gestionnaire de diffusion en continu.

Avant de commencer

Pour mener à bien ce démarrage rapide, vous devez disposer des éléments suivants :

Configurer OCI Database with PostgreSQL

  1. Créez une OCI Database with PostgreSQL.

    1. Dans OCI Database with PostgreSQL :

      1. Sélectionnez Configurations.

      2. Utilisez une configuration existante, telle que PostgreSQL.VM.Standard.E5.Flex-14-0_51.

      3. Sélectionnez Copier la configuration, renommez-la, ajoutez wal_level sous Variables utilisateur (lecture/écriture) et définissez-la sur 'logique'.

      4. Choisissez Créer.

      5. Pour plus d'informations, reportez-vous à Copie d'une configuration.

    2. Utilisez la configuration avec wal_level défini sur True lors de la création du système de base de données. Reportez-vous à Création d'un système de base de données pour plus d'informations.

  2. Connectez-vous à OCI Database with PostgreSQL. Pour plus d'informations, reportez-vous à Connexion à une base de données.

  3. Créez une base de données et un utilisateur pour GoldenGate dans OCI Database with PostgreSQL :

    1. Base de données

      1. créer la base de données ociggll ;

      2. ociggll ;

      3. créer le schéma src_ociggll ;

      4. Charger l'exemple de script

    2. Utilisateur

      1. créer l'utilisateur ggadmin avec le mot de passe <password> ;

      2. DONNER TOUS LES PRIVILÈGES SUR LA BASE DE DONNÉES À ggadmin ;

      3. SÉLECTIONNEZ SUR TOUTES LES ONGLETS DANS SCHEMA src_ociggll À ggadmin ;

Configurer la base de données Snowflake

  1. Créer une base de données Snowflake.

  2. Les utilisateurs doivent créer une paire de clés publique et privée pour s'authentifier dans Snowflake.

  3. Créez un utilisateur spécifiquement pour GoldenGate dans Snowflake avec les privilèges appropriés.

  4. Ajoutez la clé publique à l'utilisateur Snowflake, par exemple : ALTER USER example_user SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';

  5. Créez des tables cible à l'aide de l'exemple de schéma.

Tâche 1 : créer les ressources OCI GoldenGate

Cet exemple de démarrage rapide nécessite des déploiements et des connexions pour la source et la cible.

  1. GoldenGate for PostgreSQL 26ai est requis.

  2. Créez un déploiement PostgreSQL pour la base de données PostgreSQL source.

  3. Créez un déploiement Big Data pour la base de données Snowflake cible.

  4. Créez une connexion PostgreSQL avec les valeurs suivantes :

    1. Pour Type, sélectionnez OCI Database with PostgreSQL dans la liste déroulante.

    2. Dans Nom de base de données, entrez ociggll.

    3. Dans Nom utilisateur, entrez ggadmin.

    4. Pour Mot de passe, entrez votre mot de passe.

    5. Pour Protocole de sécurité, sélectionnez TLS dans la liste déroulante, puis Préférer.

  5. Créez une connexion Snowflake avec les valeurs suivantes :

    1. Pour URL de connexion, entrez jdbc:snowflake://<account_identifier>.snowflakecomputing.com/?warehouse=<warehouse name>&db=OCIGGLL.

      Remarque : veillez à remplacer <account_identifier> et <warehouse name> par les valeurs appropriées.

    2. Pour Type d'authentification, sélectionnez Authentification de paire de clés dans la liste déroulante.

      Remarque : l'authentification par paire de clés est le seul type d'authentification pris en charge pour Snowflake Streaming.

    3. Dans Nom utilisateur, entrez un nom.

    4. Téléchargez la clé privée que vous avez créée précédemment.

    5. Entrez la phrase de passe de la clé privée dans le champ Mot de passe de la clé privée.

  6. Créez une connexion à GoldenGate pour le déploiement Big Data cible, puis affectez cette connexion au déploiement PostgreSQL source.

  7. Affectez la connexion PostgreSQL source au déploiement PostgreSQL.

  8. Affectez la connexion Snowflake au déploiement Big Data cible.

Tâche 2 : activer la journalisation supplémentaire

Pour activer la journalisation supplémentaire, procédez comme suit :

  1. Lancez la console de déploiement PostgreSQL GoldenGate :

    1. Sur la page Déploiements, sélectionnez le déploiement PostgreSQL pour en visualiser les détails.

    2. Sur la page de détails de déploiement PostgreSQL, sélectionnez Lancement de la console.

    3. Dans la page de connexion à la console de déploiement, entrez les informations d'identification d'administration GoldenGate fournies à l'étape 1 de la tâche 1.

      Remarque : la connexion est requise si IAM n'a pas été sélectionné en tant que banque d'informations d'identification lors de la création d'un déploiement.

  2. Dans la console de déploiement, sélectionnez Connexions de base de données dans la navigation de gauche, puis la base de données PostgreSQL source et Trandata.

  3. Sur la page TRANDATA, en regard des informations TRANDATA, sélectionnez Ajouter TRANDATA (icône Plus).

  4. Dans le panneau Trandata, dans Nom du schéma, entrez src_ociggll, puis sélectionnez Soumettre.

    Remarque : utilisez le champ de recherche pour rechercher src_ociggll et vérifier que les tables ont été ajoutées.

Tâche 3 : créer les extractions

  1. Ajoutez l'extraction de capture de données de modification :

    1. Dans la navigation de gauche, sélectionnez Extractions,

    2. Sur la page Extractions, sélectionnez Ajouter une extraction (icône Plus), puis renseignez les champs comme suit :

      • Dans la page Extract Information :

        1. Pour Type d'extraction, sélectionnez Extraction de capture de données de modification.

        2. Dans Nom de processus, entrez un nom pour l'extraction, par exemple ECDC.

        3. Sélectionnez Suivant.

      • Dans la page Extract Options :

        1. Pour les informations d'identification source, sélectionnez Oracle GoldenGate dans la liste déroulante Domaine.

        2. Sélectionnez la base de données PostgreSQL source dans la liste déroulante Alias.

        3. Dans Nom de trace d'extraction, saisissez un nom de trace à deux caractères, tel que C1.

        4. Sélectionnez Suivant.

      • Sur la page Paramètres d'extraction, remplacez MAP *.*, TARGET *.*; par l'élément suivant :

        TABLE SRC_OCIGGLL.*;
    3. Sélectionnez Créer et exécuter.

  2. Ajoutez l'extraction de chargement initial :

    1. Sur la page Extractions, sélectionnez Ajouter une extraction, puis remplissez le formulaire Ajouter une extraction comme suit :

      • Dans la page Extract Information :

        1. Pour le type d'extraction, sélectionnez Extraction de chargement initial.

        2. Dans Nom de processus, entrez un nom, tel que EIL.

        3. Sélectionnez Suivant.

      • Dans la page Extract Options :

        1. Pour les informations d'identification source, sélectionnez Oracle GoldenGate dans la liste déroulante Domaine.

        2. Sélectionnez la base de données PostgreSQL dans la liste déroulante Alias.

        3. Dans Nom de piste d'extraction, saisissez un nom de piste à deux caractères, tel que I1.

        4. Sélectionnez Suivant.

      • Dans la page Extract Parameters, remplacez le contenu de la zone de texte par ce qui suit :

        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        Remarque : avant de passer à l'étape suivante, veillez à enlever le paramètre SOURCEDB devant USERIDALIAS.

    2. Sélectionnez Créer et exécuter.

Vous revenez à la page Extractions, où vous pouvez voir le début de l'extraction.

Tâche 4 : créer le chemin de distribution pour l'extraction du chargement initial

Pour créer un chemin de distribution pour l'extraction de chargement initial, procédez comme suit :

  1. Sur la page Déploiements de la console Oracle Cloud, sélectionnez le déploiement Big Data cible.

  2. Sur la page de détails du déploiement, sélectionnez Lancer la console, puis connectez-vous en tant qu'administrateur.

  3. Si vous utilisez la banque d'informations d'identification IAM, passez à l'étape Créer un chemin de distribution. Si vous utilisez la banque d'informations d'identification GoldenGate, créez un utilisateur avec lequel GoldenGate source se connecte à GoldenGate cible.

    1. Dans le menu de navigation, sélectionnez Administration des utilisateurs.

    2. Sélectionnez Ajouter un nouvel utilisateur (icône Plus), renseignez les champs comme suit, puis sélectionnez Soumettre :

      • Dans Nom utilisateur, entrez ggsnet.

      • Dans Rôle, sélectionnez Opérateur.

      • Indiquez le mot de passe à deux reprises pour vérification.

  4. Dans la console de déploiement PostgreSQL source, créez une connexion de chemin pour l'utilisateur créé à l'étape précédente.

    1. Dans le menu de navigation, sélectionnez Connexions de chemin.

    2. Sélectionnez Ajouter une connexion de chemin (icône Plus), renseignez les champs comme suit, puis sélectionnez Soumettre :

      • Dans Alias d'informations d'identification, entrez dpuser.

      • Dans ID utilisateur, entrez ggsnet.

      • Dans Mot de passe, entrez le mot de passe utilisé à l'étape précédente.

  5. Créer un chemin de distribution.

    1. Dans la barre de menus du service, sélectionnez Chemins, puis Ajouter un chemin de distribution (icône Plus).

    2. Remplissez le formulaire Ajouter un chemin comme suit :

      • Dans la page Path Information :

        1. Dans Nom du chemin, saisissez un nom pour ce chemin.

        2. Sélectionnez Suivant.

      • Dans la page Source Options :

        1. Pour Extraction source, laissez ce champ vide.

        2. Dans Nom de piste, saisissez le nom du suivi de l'extraction de chargement initial (I1).

        3. Sélectionnez Suivant.

      • Dans la page Target Options :

        1. Dans Cible, sélectionnez WSS.

        2. Dans Hôte cible, entrez l'URL du déploiement cible, sans https :// ni barre oblique de fin.

        3. Dans Numéro de port, saisissez 443.

        4. Dans Nom de la trace, entrez I1.

        5. Dans Méthode d'authentification cible, sélectionnez Alias d'ID utilisateur.

        6. Dans Domaine, entrez le nom de domaine créé à l'étape précédente.

        7. Dans Alias, entrez l'alias créé à l'étape précédente (dpuser).

        8. Sélectionnez Suivant.

    3. Sélectionnez Créer et exécuter.

    Vous revenez à la page Distribution Service où vous pouvez consulter le chemin créé.

  6. Dans la console de déploiement cible cible, vérifiez le chemin de destinataire créé consécutifment au chemin de distribution :

    1. Sélectionnez Chemins.

    2. Consultez les détails du parcours.

Tâche 5 : ajouter une réplication pour le chargement initial

  1. Dans la console de déploiement Big Data cible, ajoutez le processus de réplication de chargement initial.

    1. Dans le menu de navigation, sélectionnez Réplications, puis Ajouter une réplication (icône Plus).

    2. Dans la page Replicats, renseignez les champs Ajouter une réplication comme suit :

      1. Dans la page Replication Information :

        1. Pour Type de réplication, sélectionnez Réplication coordonnée.

        2. Dans Nom de processus, entrez un nom, tel que RIL.

        3. Sélectionnez Suivant.

      2. Dans la page Replicat Options :

        1. Dans Nom de traçabilité Replicat, saisissez le nom de l'arborescence de traçabilité à partir de l'étape 2 (I1).

        2. Pour Cible, sélectionnez Flocon de neige.

        3. Pour Informations d'identification cible, sélectionnez le domaine et l'alias de la connexion Snowflake.

        4. Pour Alias disponibles, sélectionnez un alias dans la liste déroulante, tel que Snowflake.

        5. Sélectionnez Diffusion en continu.

        6. Sélectionnez Suivant.

      3. Dans la page Parameter File, ajoutez le mapping suivant :

        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      4. Dans la page Properties, vérifiez les propriétés et ajoutez jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true.

      5. Sélectionnez Créer et exécuter.

    Vous revenez à la page Replicats, dans laquelle vous pouvez consulter les détails de la réplication.

  2. Pour vérifier le chargement initial, connectez-vous à la base de données Snowflake et exécutez les requêtes suivantes :

    select * from SRCMIRROR_OCIGGLL.SRC_CITY;
    select * from SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

    La sortie doit renvoyer les données chargées dans les tables de base de données cible suite au chargement initial.

Tâche 6 : créer le chemin de distribution pour la capture des données de modification

  1. Dans la console de déploiement PostgreSQL source, sélectionnez Service de distribution.

  2. Sélectionnez Ajouter un chemin de distribution.

  3. Remplissez le formulaire Ajouter un chemin comme suit :

    1. Dans la page Path Information :

      1. Dans Nom de chemin, entrez un nom.

      2. Sélectionnez Suivant.

    2. Dans la page Source Options :

      1. Pour Extraction source, sélectionnez l'extraction de capture des données de modification (ECDC).

      2. Dans Nom de la trace, sélectionnez le fichier trace de capture de données de modification (C1).

      3. Sélectionnez Suivant.

    3. Dans la page Target Options :

      1. Dans Cible, sélectionnez WSS.

      2. Pour Hôte cible, entrez l'URL de la console de déploiement cible (vous pouvez la trouver sur la page de détails du déploiement, sans https :// ni barre oblique de fin).

      3. Dans Numéro de port, saisissez 443.

      4. Dans Nom de la trace, entrez C1.

      5. Dans Méthode d'authentification cible, sélectionnez Alias d'ID utilisateur.

      6. Dans Domaine, saisissez le nom de domaine.

      7. Saisissez l'alias dans Alias.

    4. Sélectionnez Créer un chemin et exécuter.

Tâche 7 : ajouter une réplication pour la capture des données de modification

Effectuez des mises à jour de la base de données PostgreSQL source pour vérifier la réplication vers Snowflake.

  1. Ajoutez la réplication.

    1. Dans la console de déploiement Big Data cible, sélectionnez Service d'administration, puis dans le menu de navigation, sélectionnez Réplications.

    2. Sur la page Réplications, sélectionnez Ajouter une réplication (icône Plus), puis complétez le formulaire Ajouter une réplication comme suit :

      • Dans la page Replicat Information :
        1. Pour Type de réplication, sélectionnez Classique ou Coordonné.

        2. Dans Nom de processus, entrez un nom, tel que RCDC.

        3. Sélectionnez Suivant.

      • Dans la page Replicat Options :
        1. Dans Nom de traçabilité Replicat, saisissez le nom de l'arborescence de traçabilité à partir de l'étape 3 (C1).

        2. Pour Cible, sélectionnez Flocon de neige.

        3. Pour Informations d'identification cible, sélectionnez le domaine et l'alias de la connexion Snowflake.

        4. Sélectionnez Diffusion en continu.

      • Sur la page Fichiers de paramètres, ajoutez le mapping suivant, puis sélectionnez Suivant :

        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      • Sur la page Propriétés, vérifiez les propriétés, ajoutez le mapping suivant, puis sélectionnez Créer et exécuter :

        jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

    Vous revenez à la page Replicats, dans laquelle vous pouvez consulter les détails de la réplication.

  2. Vérifier la capture des données de modification :

    1. Effectuez des mises à jour de la base de données PostgreSQL source pour vérifier la réplication vers Snowflake. Exécutez le script suivant pour effectuer des insertions dans la base de données PostgreSQL :

      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. Dans la console de déploiement PostgreSQL source, sélectionnez RCDC, puis Statistiques. Vérifiez que src_ociggll.src_city comporte 10 insertions.

      Remarque : si l'extraction n'a capturé aucune insertion, redémarrez l'extraction ECDC.

    3. Dans la console de déploiement Big Data cible, sélectionnez RCDC, consultez ses détails et ses statistiques pour vérifier le nombre d'insertions.

Tâche 8 : surveiller les processus et en assurer la maintenance

  1. Surveillez le processus de réplication.

  2. Gestion des fichiers de trace.