Remarque :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
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
-
Configurer deux bases de données autonomes Oracle
-
Dans cet exemple de scénario, sourceDB comporte deux tables : Banques et Opérations où les données doivent être répliquées vers deux cibles différentes.
-
La table Banques sera répliquée vers une instance Oracle Autonomous Database cible appelée targetDB
-
Les opérateurs de table seront répliqués vers une rubrique OCI Streaming (kafka) avec un flux en temps quasi réel
-
-
Configurer Oracle GoldenGate pour répliquer des données de la base de données source vers la base de données cible
-
Publier des instructions DML de table de la base de données source vers une rubrique Cible Oracle Cloud Infrastructure (OCI) Streaming (compatible avec Kafka)
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
- Un compte Oracle Cloud - Commencer avec Oracle Cloud Infrastructure Free Tier
- Un VCN de base (réseau cloud virtuel) avec deux sous-réseaux (public et privé)
Vous pouvez suivre ce tutoriel pour créer un tout nouveau VCN QuickStart Networking - Concepts de base d'Oracle Database
- Concepts de base de Kafka Streaming
Tâche 1 : création d'un compartiment
-
Connectez-vous à votre compte Oracle Cloud, cliquez sur le menu de navigation en haut à gauche, sélectionnez Identité et sécurité, puis cliquez sur Compartiments.
Tâche 2 : créez une instance Oracle Autonomous Database nommée sourceDB.
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur Autonomous Database.
-
Sélectionnez le compartiment streaming créé à l'étape précédente et cliquez sur Créer une base de données Autonomous Database.
-
Remplissez les informations comme indiqué dans les images suivantes.
Remarque : notez le mot de passe ADMIN que vous avez créé.
Tâche 3 : créez une instance Oracle Autonomous Database nommée targetDB.
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur Autonomous Database.
-
Select the compartment created in the earlier step streaming and click Create Autonomous Database.
-
Remplissez les informations comme indiqué dans les images suivantes.
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
-
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.
-
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.
-
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.
Tâche 5 : chargez les données du fichier banks_export.sql
dans sourceDB.
-
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.
-
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.
-
Exécutez COUNT simple sur la table et vérifiez le nombre de lignes insérées.
Tâche 6 : création d'un schéma pour targetDB et chargement des données
-
Répétez les tâches 4 et 5 pour "targetDB".
-
Créez la table FINDATA, activez GG et chargez les données de la table BANKS dans la base de données cible comme vous l'avez fait sur le site sourceDB, mais maintenant connecté sur le site targetDB.
Tâche 7 : créez la table de transactions OPERACOES sur sourceDB.
-
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. -
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.
-
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.
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
-
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.
-
Cliquez sur Créer un pool de flux de données et renseignez les informations suivantes.
-
Cliquez sur Créer.
-
Cliquez sur Paramètres de connexion Kafka et notez les informations relatives aux chaînes de connexion.
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.
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Identité et sécurité, Identité, Domaines, Domaine par défaut, Utilisateurs.
-
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.
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.
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.
-
Sélectionnez l'option Connexions dans le menu de gauche et cliquez sur Créer une connexion.
-
Créez la connexion pour sourceDB.
-
Répétez le processus et créez la connexion pour targetDB.
-
Créez la connexion pour votre pool OCI Streaming DefaultPool.
A ce stade, vous devez disposer des connexions suivantes :
Tâche 11 : Créer un déploiement Oracle GoldenGate - Type : ORACLE
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.
-
Sélectionnez l'option Déploiements dans le menu de gauche et cliquez sur Créer un déploiement.
Remarque : veillez à enregistrer votre mot de passe oggadmin.
Tâche 12 : Créer un déploiement Oracle GoldenGate - Type : BIGDATA
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.
-
Sélectionnez l'option Déploiements dans le menu de gauche et cliquez sur Créer un déploiement.
-
Une fois les déploiements créés et actifs, passez à l'étape suivante.
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.
-
Cliquez sur le menu de navigation en haut à gauche, sélectionnez Oracle Database, puis cliquez sur GoldenGate.
-
Sélectionnez l'option Connexions dans le menu de gauche et cliquez sur Créer une connexion.
Vos connexions doivent ressembler à ceci :
Tâche 14 : ajout de connexions au déploiement Oracle GoldenGate - GGForOracle
-
Sélectionnez le déploiement GGForOracle. Dans le menu de gauche, cliquez sur Connexions affectées, puis sur Affecter une connexion.
-
Ajoutez la connexion pour sourceDB.
-
Ajoutez la connexion pour targetDB.
-
Ajoutez la connexion pour GGOracletoGGBigData.
Vous devez disposer des connexions suivantes sur le déploiement GGForOracle :
Tâche 15 : ajout de connexions au déploiement Oracle GoldenGate - GGforBigData
-
Sélectionnez le déploiement GGforBigData. Dans le menu de gauche, cliquez sur Connexions affectées, puis sur Affecter une connexion.
Vous devez disposer des connexions suivantes sur le déploiement GGforBigData :
Tâche 16 : configuration d'Oracle GoldenGate pour GGforOracle
-
Sélectionnez votre déploiement GGForOracle, puis cliquez sur Lancer la console.
-
Entrez les informations d'identification oggadmin/yourpassword (le mot de passe que vous avez créé lors de la création du déploiement).
-
Cliquez sur le menu de navigation, sélectionnez Configuration, puis cliquez sur + pour ajouter de nouvelles informations d'identification.
-
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.
-
Cliquez pour vous connecter sur sourceDB, puis cliquez sur + sur TRANDATA pour ajouter les tables nécessaires à la réplication.
-
Ajoutez un nouvel enregistrement pour la table
FINDATA.BANKS
et cliquez sur Soumettre. -
Ajoutez un nouvel enregistrement pour la table
FINDATA.OPERACOES
et cliquez sur Soumettre. -
Pour vérifier si les tables sont ajoutées, cliquez sur le filtre de FINDATA.*.
-
Cliquez sur targetDB pour vous connecter, puis cliquez sur + sur CHECKPOINT.
-
Entrez FINDATA.CHECKTABLE et cliquez sur Soumettre.
-
Cliquez maintenant sur l'option Aperçu du menu de gauche pour inclure la nouvelle extraction.
-
Inclure les paramètres suivants :
EXTRACT EXT USERIDALIAS sourceDB DOMAIN OracleGoldenGate EXTTRAIL E1 table FINDATA.operacoes; table FINDATA.banks;
-
-
Cliquez sur Actions, Démarrer pour démarrer l'extraction.
-
Créez maintenant un nouveau réplicat pour appliquer la réplication au fichier targetDB.
-
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 tableFINDATA.OPERACOES
sera répliquée sur la rubrique OCI Streaming plus loin dans ce tutoriel. -
-
Cliquez sur Action, Start pour démarrer la réplication.
-
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;
-
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;
-
Cliquez sur l'onglet Service de distribution et ajoutez un nouveau chemin pour envoyer des données à GGforBigData.
-
Cliquez sur Action, Start pour démarrer la distribution de service.
Tâche 17 : Configuration d'Oracle GoldenGate for Big Data - GGforBigData
-
Sélectionnez votre déploiement GGforBigData, puis cliquez sur Lancer la console.
-
Entrez les informations d'identification oggadmin/yourpassword (le mot de passe que vous avez créé lors de la création du déploiement).
-
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.
-
Nous devons maintenant configurer REPLICAT afin de publier les données sur le sujet OCI Streaming.
-
Cliquez sur l'onglet Administration Service.
-
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);
-
Il suffit d'ajouter le ${tableName} sur cette ligne et d'utiliser toutes les valeurs par défaut fournies.
-
-
Cliquez sur Action, Start pour démarrer la réplication.
-
Vérifiez si le statut est vert :
-
Tâche 18 : vérification de la réplication vers la rubrique OCI Streaming
-
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.
-
-
Vérifiez s'il existe un enregistrement dans
FINDATA.OPERACOES
en exécutant la commande SQL suivante.SELECT COUNT(*) FROM FINDATA.OPERACOES;
-
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.
-
Vérifiez si un code TOPIC est automatiquement créé par Oracle GoldenGate for Big Data.
-
Essayez d'utiliser certains messages et vérifiez s'ils sont disponibles dans la rubrique en cliquant sur Charger les messages.
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
- Auteur - Joao Tarla (ingénieur solutions Oracle LAD A-Team)
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.
Stream data using Oracle GoldenGate and Oracle GoldenGate for Big Data with different targets
F80321-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.