Remarque :

Diffuser des données à l'aide d'Oracle GoldenGate et d'Oracle GoldenGate for Big Data avec différentes cibles

Introduction

Oracle GoldenGate est un service entièrement géré qui aide les ingénieurs données à déplacer des données en temps réel, à grande échelle, à partir d'un ou de plusieurs systèmes de gestion de données vers des bases de données Oracle Cloud. Concevez, exécutez, orchestrez et surveillez les tâches de réplication de données dans une interface unique sans avoir à allouer ou gérer des environnements de calcul.

Oracle GoldenGate for Big Data transmet en temps réel des données transactionnelles aux systèmes Big Data et Cloud, sans impact sur les performances des systèmes source. Il rationalise la livraison de données en temps réel dans les solutions Big Data les plus populaires, notamment Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, NoSQL Bases de données, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform et Data Warehouses pour faciliter l'amélioration des informations et des actions en temps opportun.

Le service Oracle Cloud Infrastructure (OCI) Streaming est une solution entièrement gérée, évolutive et durable destinée à l'assimilation et à l'utilisation de flux de données volumineux en temps réel. Utilisez OCI Streaming pour tout cas d'utilisation dans lequel des données sont produites et traitées de manière continue et séquentielle selon un modèle de messagerie de publication/souscription.

Dans ce tutoriel, vous apprendrez à diffuser des données à partir d'Oracle Autonomous Database vers deux cibles différentes, à savoir Oracle Autonomous Database et Oracle Streams Topic.

Objectif

Architecture

Architecture

IMPORTANT : Cet exemple d'architecture est fourni à des fins d'apprentissage uniquement et pour simplifier les choses, nous utilisons un sous-réseau PUBLIC, ce qui signifie que ce ne doit pas être utilisé pour les environnements de production ou le traitement de données réelles.

Pour les environnements de production, vous DEVEZ utiliser des sous-réseaux PRIVATE et appliquer toutes les meilleures pratiques de sécurité décrites ici : Meilleures pratiques de sécurité Oracle)

Prérequis

Tâche 1 : création d'un compartiment

Tâche 2 : créez une instance Oracle Autonomous Database nommée sourceDB.

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur Autonomous Database.

  2. Sélectionnez le compartiment streaming créé à l'étape précédente et cliquez sur Créer une base de données Autonomous Database.

    T2_1

  3. Remplissez les informations comme indiqué dans les images suivantes.

    T2_2

    T2_3

    T2_4

Remarque : notez le mot de passe ADMIN que vous avez créé.

Tâche 3 : créez une instance Oracle Autonomous Database nommée targetDB.

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur Autonomous Database.

  2. Select the compartment created in the earlier step streaming and click Create Autonomous Database.

    T2_1

  3. Remplissez les informations comme indiqué dans les images suivantes.

    T3_2

    T2_3

    T2_4

Remarque : notez le mot de passe ADMIN que vous avez créé.

Tâche 4 : création d'un schéma et de paramètres pour sourceDB

  1. Accédez à la page d'accueil sourceDB et cliquez sur Database Actions pour exécuter des commandes SQL sur la base de données et charger des données.

    T4_1

  2. Téléchargez le fichier findata_schema.sql, copiez le contenu dans la fenêtre d'exécution SQL et exécutez-le en tant que SCRIPT.

    Remarque : veillez à définir un mot de passe pour l'utilisateur FINDATA et notez les étapes ultérieures de ce tutoriel.

    T4_1

  3. Téléchargez le fichier enable_gg.sql, copiez le contenu dans la fenêtre d'exécution SQL et exécutez-le en tant que SCRIPT.

    Remarque : veillez à définir un mot de passe pour l'utilisateur GGADMIN et notez les étapes ultérieures de ce tutoriel.

    T4_1

Tâche 5 : chargez les données du fichier banks_export.sql dans sourceDB.

  1. Accédez à la page d'accueil sourceDB et cliquez sur Database Actions pour exécuter des commandes SQL sur la base de données et charger des données.

    T4_1

  2. Téléchargez le fichier banks_export.sql, copiez le contenu dans la fenêtre d'exécution SQL et exécutez-le en tant que SCRIPT.

    T5_1

  3. Exécutez COUNT simple sur la table et vérifiez le nombre de lignes insérées.

    T5_1

Tâche 6 : création d'un schéma pour targetDB et chargement des données

Tâche 7 : créez la table de transactions OPERACOES sur sourceDB.

  1. Créez une table nommée FINDATA.OPERACOES dans sourceDB uniquement. Cette table correspond aux données source qu'Oracle GoldenGate for Big Data capturera et publiera sur le sujet OCI Streaming.

  2. Accédez à la page d'accueil sourceDB et cliquez sur Database Actions pour exécuter des commandes SQL sur la base de données et charger des données.

    T4_1

  3. Téléchargez le fichier operacoes_table.sql, copiez le contenu dans la fenêtre d'exécution SQL et exécutez-le en tant que SCRIPT.

T7_1

Il s'agit d'une table vide qui recevra les données aléatoires pour démarrer des événements sur Oracle GoldenGate.

Tâche 8 : création d'un pool OCI Streaming

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Analytics et IA, cliquez sur Diffusion en continu, puis sélectionnez Pool de diffusion en continu.

  2. Cliquez sur Créer un pool de flux de données et renseignez les informations suivantes.

    T8_1

    T8_1

  3. Cliquez sur Créer.

  4. Cliquez sur Paramètres de connexion Kafka et notez les informations relatives aux chaînes de connexion.

    T8_1

Tâche 9 : génération d'un TOKEN AUTH pour accéder à la zone de mémoire Streaming OCI

Vous pouvez accéder à OCI Streaming (API Kafka) et à d'autres ressources dans Oracle Cloud avec un jeton d'authentification associé à votre utilisateur sur Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Dans les paramètres de connexion Kafka, les chaînes de connexion SASL comportent un paramètre nommé password et une valeur AUTH_TOKEN, comme décrit dans la tâche précédente. Pour activer l'accès à OCI Streaming, accédez à la console OCI et créez un TOKEN AUTH.

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Identité et sécurité, Identité, Domaines, Domaine par défaut, Utilisateurs.

  2. Sélectionnez le même utilisateur que vous avez utilisé pour créer les ressources antérieures telles qu'Oracle Autonomous Database et le pool de flux de données OCI.

T9_1

T9_1

Remarque : notez que AUTH TOKEN vous en aurez besoin pour l'étape suivante.

Tâche 10 : création de connexions Oracle GoldenGate

Pour se connecter aux bases de données source et cible, Oracle GoldenGate a besoin de la configuration de connexion appropriée.

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.

  2. Sélectionnez l'option Connexions dans le menu de gauche et cliquez sur Créer une connexion.

  3. Créez la connexion pour sourceDB.

    T9_1

    T9_1

  4. Répétez le processus et créez la connexion pour targetDB.

    T9_1

    T9_1

  5. Créez la connexion pour votre pool OCI Streaming DefaultPool.

    T9_1

    T9_1

A ce stade, vous devez disposer des connexions suivantes :

T10_1

Tâche 11 : Créer un déploiement Oracle GoldenGate - Type : ORACLE

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.

  2. Sélectionnez l'option Déploiements dans le menu de gauche et cliquez sur Créer un déploiement.

    T10_1

    T10_1

Remarque : veillez à enregistrer votre mot de passe oggadmin.

Tâche 12 : Créer un déploiement Oracle GoldenGate - Type : BIGDATA

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.

  2. Sélectionnez l'option Déploiements dans le menu de gauche et cliquez sur Créer un déploiement.

    T12_1

    T12_1

    T12_1

  3. Une fois les déploiements créés et actifs, passez à l'étape suivante.

    T12_1

Tâche 13 : Créer une connexion entre des déploiements Oracle GoldenGate

Pour qu'Oracle GoldenGate communique avec Oracle GoldenGate for Big Data, nous devons créer la connexion.

  1. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.

  2. Sélectionnez l'option Connexions dans le menu de gauche et cliquez sur Créer une connexion.

    T13_1

    T13_1

Vos connexions doivent ressembler à ceci :

T13_1

Tâche 14 : ajout de connexions au déploiement Oracle GoldenGate - GGForOracle

  1. Sélectionnez le déploiement GGForOracle. Dans le menu de gauche, cliquez sur Connexions affectées, puis sur Affecter une connexion.

    T14_1

  2. Ajoutez la connexion pour sourceDB.

    T14_1

  3. Ajoutez la connexion pour targetDB.

    T14_1

  4. Ajoutez la connexion pour GGOracletoGGBigData.

    T14_1

Vous devez disposer des connexions suivantes sur le déploiement GGForOracle :

T14_1

Tâche 15 : ajout de connexions au déploiement Oracle GoldenGate - GGforBigData

  1. Sélectionnez le déploiement GGforBigData. Dans le menu de gauche, cliquez sur Connexions affectées, puis sur Affecter une connexion.

    T15_1

    T15_1

Vous devez disposer des connexions suivantes sur le déploiement GGforBigData :

T15_1

Tâche 16 : configuration d'Oracle GoldenGate pour GGforOracle

  1. Sélectionnez votre déploiement GGForOracle, puis cliquez sur Lancer la console.

  2. Entrez les informations d'identification oggadmin/yourpassword (le mot de passe que vous avez créé lors de la création du déploiement).

    T16_1

  3. Cliquez sur le menu de navigation, sélectionnez Configuration, puis cliquez sur + pour ajouter de nouvelles informations d'identification.

    T16_1

  4. Ajoutez les informations d'identification pour le déploiement GGforBigData.

    Remarque : utilisez oggadmin que vous avez configuré lors de la création du déploiement.

    T16_1

  5. Cliquez pour vous connecter sur sourceDB, puis cliquez sur + sur TRANDATA pour ajouter les tables nécessaires à la réplication.

    T16_1

  6. Ajoutez un nouvel enregistrement pour la table FINDATA.BANKS et cliquez sur Soumettre.

    T16_1

  7. Ajoutez un nouvel enregistrement pour la table FINDATA.OPERACOES et cliquez sur Soumettre.

    T16_1

  8. Pour vérifier si les tables sont ajoutées, cliquez sur le filtre de FINDATA.*.

    T16_1

  9. Cliquez sur targetDB pour vous connecter, puis cliquez sur + sur CHECKPOINT.

    T16_1

    T16_1

  10. Entrez FINDATA.CHECKTABLE et cliquez sur Soumettre.

    T16_1

  11. Cliquez maintenant sur l'option Aperçu du menu de gauche pour inclure la nouvelle extraction.

    T16_1

    T16_1

    T16_1

    T16_1

    • Inclure les paramètres suivants :

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. Cliquez sur Actions, Démarrer pour démarrer l'extraction.

    T16_1

  13. Créez maintenant un nouveau réplicat pour appliquer la réplication au fichier targetDB.

    T16_1

    T16_1

    T16_1

    • Inclure les paramètres suivants :

      REPLICAT REP
      USERIDALIAS targetDB DOMAIN OracleGoldenGate
      MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
      

    Remarque : seule la table FINDATA.BANKS est répliquée ici. En effet, nous la répliquons vers targetDB. L'autre table FINDATA.OPERACOES sera répliquée sur la rubrique OCI Streaming plus loin dans ce tutoriel.

  14. Cliquez sur Action, Start pour démarrer la réplication.

    T16_1

    T16_1

  15. Vérifiez si la réplication fonctionne pour la table FINDATA.BANKS : accédez à la page des actions de la base de données pour sourceDB et insérez un nouvel enregistrement.

    INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG');
    COMMIT;
    

    T16_1

  16. Ouvrez la page d'actions de votre base de données pour targetDB et exécutez la requête ci-dessous pour vérifier si l'enregistrement est créé.

     select * from FINDATA.BANKS WHERE ID_SEQ = 999;
    
    

    T16_1

  17. Cliquez sur l'onglet Service de distribution et ajoutez un nouveau chemin pour envoyer des données à GGforBigData.

    T16_1

    T16_1

    T16_1

  18. Cliquez sur Action, Start pour démarrer la distribution de service.

    T16_1

    T16_1

Tâche 17 : Configuration d'Oracle GoldenGate for Big Data - GGforBigData

  1. Sélectionnez votre déploiement GGforBigData, puis cliquez sur Lancer la console.

  2. Entrez les informations d'identification oggadmin/yourpassword (le mot de passe que vous avez créé lors de la création du déploiement).

    T17_1

  3. Cliquez sur l'onglet Service du destinataire et vérifiez s'il fonctionne déjà. Cela devrait se produire, car nous avons déjà effectué tous les paramètres nécessaires pour la connexion entre les deux déploiements Oracle GoldenGate.

    T17_2

  4. Nous devons maintenant configurer REPLICAT afin de publier les données sur le sujet OCI Streaming.

  5. Cliquez sur l'onglet Administration Service.

    T17_1

    T17_1

    T17_1

    • Inclure les paramètres suivants :

       REPLICAT STRM
       TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties
       MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
      
      

      T17_1

    • Il suffit d'ajouter le ${tableName} sur cette ligne et d'utiliser toutes les valeurs par défaut fournies.

      T17_1

  6. Cliquez sur Action, Start pour démarrer la réplication.

    T17_1

    • Vérifiez si le statut est vert :

      T17_1

Tâche 18 : vérification de la réplication vers la rubrique OCI Streaming

  1. Accédez à la page Actions de votre base de données pour sourceDB et insérez des lignes dans la table FINDATA.OPERACOES.

    • Vous pouvez utiliser le script load_random_data.sql pour insérer des données aléatoires dans la table FINDATA.OPERACOES.

    • Ce script ajoutera 1.000 lignes sur FINDATA.OPERACOES et suffira à vérifier si la réplication fonctionne comme prévu.

      T17_1

  2. Vérifiez s'il existe un enregistrement dans FINDATA.OPERACOES en exécutant la commande SQL suivante.

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. Cliquez sur le menu de navigation en haut à gauche, sélectionnez Analyses et IA, cliquez sur Diffusion en continu et sélectionnez Diffusion en continu dans le menu de gauche.

  4. Vérifiez si un code TOPIC est automatiquement créé par Oracle GoldenGate for Big Data.

    T17_1

  5. Essayez d'utiliser certains messages et vérifiez s'ils sont disponibles dans la rubrique en cliquant sur Charger les messages.

    T17_1

Remarque importante : Charger les messages ne fonctionne que pour les messages consommés dans le dernier MINUTE. Cela signifie que si vous avez pris plus de temps que cela après l'exécution du script LOAD_RANDOM_DATA.SQL, vous ne verrez aucun résultat.

Pour voir les résultats, accédez à votre base de données et exécutez à nouveau le script LOAD_RANDOM_DATA.SQL, puis revenez à Load Messages et vos messages s'affichent.

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation produit, consultez Oracle Help Center.