Remarques :

Déployer des microservices Oracle GoldenGate entre régions dans Oracle Cloud Infrastructure à l'aide d'Oracle Database

Introduction

L'architecture de microservices (MA) d'Oracle GoldenGate est un outil de réplication qui vous permet de gérer et de configurer la réplication de données dans plusieurs environnements de base de données. Il utilise les services RESTful et une architecture basée sur les microservices pour simplifier la gestion, la configuration et la surveillance des déploiements cloud.

image

Oracle GoldenGate 23ai :

Historique d'évaluation d'Oracle GoldenGate 23ai

image

Fonctionnalités d'Oracle GoldenGate 23ai

image

Implémentation d'Oracle GoldenGate

Dans ce tutoriel, nous allons utiliser les bases de données source et cible en tant que microservices Oracle Database 23ai et Oracle GoldenGate 23ai en tant que service dans OCI pour répliquer des données de la région Ashburn de base de données source vers la région San Jose de base de données cible. Oracle GoldenGate peut être déployé dans l'une ou l'autre des régions. Nous allons déployer Oracle GoldenGate dans la région de San Jose et connecter les bases de données source et cible à l'aide du même déploiement Oracle GoldenGate.

image

Remarque : il s'agit d'un diagramme simplifié. Le nom réel du réseau peut être différent.

Environnement:

Région OCI Compartiment VCN Sous-réseau Base de données Conteneur PDB Vault Clé Secrets GoldenGate
Ashburn Base de données/NonProd VCN_ASH Publication/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH S/O S/O S/O
San Jose Base de données/NonProd VCN_SJ Publication/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey oggadmin OGG_Dep_23ai

Public

Ce tutoriel est destiné aux administrateurs système et aux utilisateurs de base de données pour en savoir plus sur les microservices Oracle GoldenGate. Il est supposé que les lecteurs maîtrisent la technologie Oracle GoldenGate, les technologies Web et OCI et les plates-formes UNIX.

Objectifs

Prérequis

Tâche 1 : provisionnement du déploiement Oracle GoldenGate

Pour provisionner le déploiement Oracle GoldenGate en tant que service dans OCI, des stratégies minimales sont requises pour l'utilisateur qui va créer le déploiement et les connexions. Lors de la maintenance, la tâche supplémentaire consiste à arrêter et à démarrer le déploiement.

Les stratégies suivantes sont requises :

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

Pour provisionner le déploiement Oracle GoldenGate, accédez à la console OCI et sélectionnez la région et le compartiment respectifs.

  1. Cliquez sur Oracle Database et sélectionnez GoldenGate.

  2. Sélectionnez déploiement et cliquez sur Créer un déploiement.

  3. Entrez le nom du déploiement, créez le compartiment sous lequel le déploiement Oracle GoldenGate doit résider, sélectionnez Déploiement ou test, entrez Nombre d'OCPU. Le redimensionnement automatique a été désactivé à ce jour, qui peut être activé ultérieurement. Sélectionnez Sous-réseau, Type de licence et cliquez sur Suivant.

    image

  4. Sélectionnez le type de déploiement, la version d'Oracle GoldenGate et le nom d'instance GoldenGate, entrez oggadmin comme nom utilisateur de l'administrateur et indiquez le nom du compartiment dans lequel la clé secrète est créée dans la section Prérequis, sélectionnez la clé secrète de mot de passe dans le menu déroulant et cliquez sur Créer.

    image

    La création du déploiement Oracle GoldenGate prend quelques minutes. Le déploiement Oracle GoldenGate sera créé sous le compartiment (root)/Database/NonProd.

Tâche 2 : se connecter à la console Oracle GoldenGate

  1. Une fois le déploiement Oracle GoldenGate terminé, ouvrez le déploiement et cliquez sur Lancer la console.

    image

  2. Connectez-vous à l'aide du nom utilisateur et du mot de passe de déploiement Oracle GoldenGate utilisés lors de la création du déploiement. (Ex.oggadmin/password)

    image

Tâche 3 : Préparation de la base de données source et cible

Remarque : à partir d'Oracle GoldenGate 23ai, l'extraction au niveau racine n'est pas prise en charge. Cela signifie que les privilèges utilisateur sont affectés au niveau de la base de données pluggable uniquement et que l'utilisateur c##ggadmin n'est pas utilisé avec Oracle GoldenGate 23ai. Oracle GoldenGate 23ai avec Oracle Database permet l'implémentation de bases de données pluggables pour la source et la cible. L'extraction est inscrite pour une base de données pluggable spécifique, appelée extraction par base de données pluggable.

  1. Assurez-vous que la journalisation forcée est activée sur la base de données source.

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. Activez la journalisation supplémentaire minimale.

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. Modifiez le paramètre de l'extraction Oracle GoldenGate.

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. Exécutez la requête suivante dans la base de données source (PDB).

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. Exécutez la requête suivante dans la base de données cible (PDB).

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

Tâche 4 : Créer une connexion aux bases de données source et cible

Une fois le déploiement et la base de données Oracle GoldenGate prêts, nous devons établir une connexion entre le service Oracle GoldenGate et la base de données.

  1. Connectez-vous à la console OCI, sélectionnez une région et un compartiment.

  2. Cliquez sur Oracle Database et sélectionnez GoldenGate.

  3. Sélectionnez Connexions et cliquez sur Créer une connexion.

  4. Entrez le nom de la connexion, le compartiment dans lequel créer la connexion, le type de la base de données et cliquez sur Suivant.

    image

  5. Pour créer une connexion à la base de données source, entrez les informations suivantes et cliquez sur Créer.

    • Sélectionnez Entrer les informations de base de données car la base de données se trouve dans une autre région.
    • Chaîne de connexion à la base de données : entrez l'adresse IP en tant que nom d'hôte car le DNS est requis pour le résoudre.
    • Nom utilisateur de base de données : entrez GGADMIN qui a été créé dans la tâche 3.
    • Mot de passe de l'utilisateur de la base de données : entrez ce dernier.
    • Méthode de routage du trafic : sélectionnez Adresse dédiée.
    • Mode de session : sélectionnez Direct.
    • Sous-réseau public : entrez Subnet-VCN_SJ.

    image

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    Une fois la connexion créée, ouvrez les détails de connexion sous GoldenGate, cliquez sur Déploiement affecté et sur Affecter un déploiement.

    image

  6. A l'instar de la source, créez une connexion OGG_VMDB2_SJ à la base de données cible et affectez un déploiement. Seule la différence, étant donné qu'Oracle GoldenGate et Oracle Database se trouvent dans la même région et le même VCN, nous pouvons sélectionner directement la base de données comme indiqué dans la capture d'écran suivante.

    image

    Comme la base de données se trouve dans la même région, nous pouvons sélectionner directement la base de données et saisir le nom utilisateur et le mot de passe de la base de données pour GGADMIN, créés dans la tâche 3.

    image

  7. Validez les connexions source et cible dans Oracle GoldenGate. Une fois la connexion créée, connectez-vous à la console Oracle GoldenGate. Cliquez sur Connexions de base de données pour afficher toutes les connexions. Cliquez sur Connexion source et cible et assurez-vous que les deux connexions sont résolues.

    image

Tâche 5 : Extraire la configuration

  1. Ajouter des trandata.

    Remarque : veillez à activer l'option de niveau table supplémentaire en ajoutant TRANDATA. Si la journalisation supplémentaire de niveau schéma est déjà activée, vous pouvez ignorer ces étapes.

    1. Pour ajouter des données de transaction, nous devons d'abord établir la connexion à la base de données source à partir de la console Oracle GoldenGate. Cliquez sur la connexion à la base de données source.

    2. Cliquez sur +, sélectionnez Table ou Schéma et entrez le nom de la table ou le nom du schéma.

      Dans le cas d'une réplication de niveau table, sélectionnez Table et entrez le nom de la table au format <Schema_Name.Table_Name>.

    3. Sélectionnez Toutes les colonnes si la table ne comporte aucune clé et sélectionnez Préparer le mode CSN en tant que nowait.

      image

    4. Une fois le fichier trandata ajouté, vous pouvez le rechercher en indiquant le nom de la table ou du schéma dans la barre de recherche, comme illustré dans l'image suivante.

      image

  2. Créez une extraction intégrée.

    1. Connectez-vous à la connexion OGG_VMDB1_PDB1_ASH de base de données source (PDB) dans la console Oracle GoldenGate et créez la table CheckPoint.

      image

    2. Connectez-vous à la connexion OGG_VMDB1_PDB1_ASH de base de données source (PDB) dans la console Oracle GoldenGate et créez une table de signal d'activité pour la base de données cible uniquement.

      image

  3. Ajoutez une extraction intégrée.

    1. Une fois le fichier trandata ajouté, ajoutez l'extraction intégrée pour les tables ou les schémas mentionnés. Sélectionnez l'extraction dans le menu de navigation Oracle GoldenGate. Cliquez sur + dans la section d'extraction.

    2. Sélectionnez Extraction intégrée, entrez Nom du processus (8 caractères maximum) et Description.

      image

    3. Sélectionnez OracleGoldenGate comme domaine d'informations d'identification source dans le menu déroulant, Alias d'informations d'identification, Trace, Profil de cryptage, etc.

      image

    4. Dans la section Option gérée, sélectionnez Nom du profil, Redémarrage automatique, Nombre maximal de nouvelles tentatives, Nombre de minutes de retard de nouvelle tentative, Fenêtre Nombre de nouvelles tentatives et cliquez sur Suivant.

      image

    5. Une fois le fichier de paramètres par défaut créé, ajoutez les paramètres nécessaires supplémentaires dans le fichier de paramètres, si nécessaire, puis cliquez sur Créer.

      image

      Paramètre utilisé dans l'extraction DEV.

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. Démarrez l'extraction intégrée.

    1. Une fois l'extraction créée, cliquez sur Démarrer.

      image

      Une fois l'extraction exécutée, elle prend le statut En cours d'exécution.

      image

    2. Développez Processus d'extraction pour afficher de nombreuses sections telles que Point de reprise, Statistiques et Rapport. Actuellement, vous pouvez voir le rapport. Cliquez sur Actualiser à droite pour actualiser le rapport ou les statistiques.

      image

Tâche 6 : chargement initial des données

  1. Effectuez un vidage d'export basé sur SCN du schéma mentionné à partir de la base de données pluggable source.

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. Importez les données dans la base pluggable cible.

    Remarque : dans ce tutoriel, nous avons accordé à l'administrateur de base de données l'accès à GG_ash, mais vous pouvez lui accorder l'accès selon vos besoins.

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

Tâche 7 : configuration de la réplication

  1. Créer une réplication intégrée.

    1. Pour ajouter trandata, nous devons d'abord établir la connexion à la base de données source à partir de la console Oracle Goldengate. Sélectionnez Répliquer dans le volet de gauche et cliquez sur + dans Réplications.

    2. Sélectionnez Replicat intégré, entrez Nom de réplication, Description, puis cliquez sur Suivant.

      image

    3. Entrez la piste de réplication (comme indiqué dans le processus d'extraction - Tâche 5), le profil de cryptage, le domaine, l'alias, la table CheckPoint (créée lors de l'extraction - Tâche 5) et l'emplacement du journal.

      image

    4. Dans la section Option gérée, sélectionnez Nom du profil, Redémarrage automatique, Nombre maximal de nouvelles tentatives, Délai de nouvelle tentative, Fenêtre des nouvelles tentatives et cliquez sur Suivant.

      image

    5. Une fois le fichier de paramètres par défaut créé. Ajoutez les paramètres nécessaires supplémentaires dans le fichier de paramètres, si nécessaire, puis cliquez sur Créer.

      image

  2. Démarrez la réplication à partir de flashback_SCN.

    1. Une fois le processus de réplication créé, cliquez sur trois points et sur Commencer avec les options.

      image

    2. Sélectionnez Point de départ comme Après CSN et CSN comme numéro SCN utilisé en tant que numéro SCN Flashback lors de l'export. Activez Filtrer les doublons et cliquez sur Démarrer.

      image

    3. Cliquez sur Replicat pour afficher de nombreuses sections telles que Point de reprise, Statistiques et Rapport. Cliquez sur Rapport et sur Actualiser à droite pour actualiser le rapport ou les statistiques.

      image

Tâche 8 : valider la réplication de données

  1. Une fois l'extraction et la réplication configurées, connectez-vous à la console Oracle GoldenGate et cliquez sur Accueil. Vous pouvez voir que l'extraction et la réplication sont en cours d'exécution.

  2. Insérez certaines données dans la base de données source (PDB), la même chose doit se refléter dans la base de données cible (PDB).

    image

  3. Connectez-vous à la base de données source.

    image

  4. Connectez-vous à la base de données cible.

    image

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.