Note :

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

Présentation

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

Image

Oracle GoldenGate 23ai :

Historique des évaluations d'Oracle GoldenGate 23ai

Image

Caractéristiques d'Oracle GoldenGate 23ai

Image

Implémentation d'Oracle GoldenGate

Dans ce tutoriel, nous utiliserons les bases de données sources et cibles 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 la base de données source vers la région San Jose de la base de données cible. Oracle GoldenGate peut être déployé dans l'une ou l'autre région. 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

Note : Il s'agit du diagramme simplifié. Le nom réel du réseau peut différer.

Environnement :

Région OCI Compartiment VCN Sous-réseau Base de données conteneur PDB Chambre forte Clé Béton Golden Gate
Ashburn Base de données/NonProd VCN_ASH Pub/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH S.O. S.O. S.O.
San Jose Base de données/NonProd VCN_SJ Pub/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey oggadmin OGG_Dep_23ai

Public cible

Ce tutoriel est destiné aux administrateurs de système et aux utilisateurs de base de données pour en savoir plus sur les microservices Oracle GoldenGate. On suppose que les lecteurs connaissent bien la technologie Oracle GoldenGate, les technologies Web et OCI et ont une compréhension générale des plates-formes UNIX.

Objectifs

Préalables

Tâche 1 : Provisionner le déploiement d'Oracle GoldenGate

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

Les politiques 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 d'Oracle GoldenGate, allez à 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 un compartiment sous lequel le déploiement Oracle GoldenGate doit résider, sélectionnez Déploiement ou test, entrez le nombre d'OCPU. L'ajustement automatique a été désactivé à ce jour, ce 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 de l'instance GoldenGate, entrez le nom d'utilisateur de l'administrateur comme oggadmin et indiquez le nom du compartiment où la clé secrète est créée dans la section Préalables, sélectionnez la clé secrète du mot de passe dans le menu déroulant et cliquez sur Créer.

    Image

    La création du déploiement Oracle GoldenGate prendra quelques minutes. Le déploiement d'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 d'Oracle GoldenGate terminé, ouvrez le déploiement et cliquez sur Lancer la console.

    Image

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

    Image

Tâche 3. Préparer la base de données source et cible

Note : À partir d'Oracle GoldenGate 23ai, l'extraction au niveau racine n'est pas prise en charge. Cela signifie que les privilèges de l'utilisateur sont affectés au niveau de la base de données enfichable 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 enfichables (PDB) pour la source et la cible. L'extraction est enregistrée pour une base de données enfichable spécifique, appelée extraction par base de données enfichable.

  1. Assurez-vous que la journalisation forcée est activée dans 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 pour 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 l'interrogation 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 l'interrogation 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 à la base 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 la région et le 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 vous voulez 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 sur la 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 comme nom d'hôte, car le DNS est requis pour le résoudre.
    • Nom d'utilisateur de la base de données : Entrez GGADMIN qui a été créé lors de la tâche 3.
    • Nom d'utilisateur de la base de données : Entrez le mot de passe de l'utilisateur de base de données.
    • Méthode d'acheminement du trafic : Sélectionnez Point d'extrémité dédié.
    • 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 la connexion sous GoldenGate, cliquez sur Déploiement affecté et sur Affecter un déploiement.

    Image

  6. Comme la source, créez la connexion OGG_VMDB2_SJ à la base de données cible et affectez le déploiement. Seule différence, puisqu'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 illustré 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 entrer le nom d'utilisateur et le mot de passe de la base de données GGADMIN créés dans la tâche 3.

    Image

  7. Valider la connexion source et cible dans Oracle GoldenGate. Une fois la connexion créée, connectez-vous à la console Oracle GoldenGate. Cliquez sur Connexions à la 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. Ajoutez des trandata.

    Note : Assurez-vous d'activer la fonction supplémentaire au niveau table en ajoutant TRANDATA. Si la journalisation supplémentaire au niveau schéma est déjà activée, vous pouvez ignorer ces étapes.

    1. Pour ajouter des trandata, 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.

      Pour la réplication au niveau de la table, sélectionnez Table et entrez le nom de la table dans le 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 comme maintenant.

      Image

    4. Une fois le 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 la base de données source (PDB) dans la console Oracle GoldenGate et créez une table CheckPoint.

      Image

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

      Image

  3. Ajoutez un processus d'extraction intégrée.

    1. Une fois le trandata ajouté avec succès, ajoutez l'extraction intégrée pour les tables ou schémas mentionnés. Sélectionnez l'extraction dans le menu de navigation d'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 des données d'identification sources dans le menu déroulant, les alias, la piste, le profil de chiffrement, etc.

      Image

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

      Image

    5. Une fois le fichier de paramètres par défaut créé, ajoutez des paramètres supplémentaires nécessaires 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 avec succès, elle affiche le statut En cours d'exécution.

      Image

    2. Développez Processus d'extraction et affichez de nombreuses sections telles que Point de vérification, 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'exportation basé sur le numéro SCN du schéma mentionné à partir de la base de données enfichable 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 de données enfichable cible.

    Note : 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 les 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 du processus de réplication

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

    1. Pour ajouter des 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éplicats.

    2. Sélectionnez Réplication intégrée, entrez Nom de la réplication, Description et cliquez sur Suivant.

      Image

    3. Entrez Piste de réplication (comme indiqué dans Processus d'extraction - Tâche 5), Profil de chiffrement, Domaine, Alias, Table CheckPoint (créée lors de l'extraction - Tâche 5) et 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 de nouvelles tentatives et cliquez sur Suivant.

      Image

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

      Image

  2. Démarrez le processus de réplication à partir de flashback_SCN.

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

      Image

    2. Sélectionnez Point de début comme Après le numéro CSN et comme numéro CSN, qui est le numéro SCN que nous avons utilisé comme numéro SCN flashback lors de l'exportation. Activez Filtrer les doubles et cliquez sur Démarrer.

      Image

    3. Cliquez sur Répliquer pour afficher de nombreuses sections telles que Point de vérification, 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 des 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 les processus Extract et Replicat sont en cours d'exécution.

  2. Insérez des données dans la base de données source (PDB), ce qui devrait être le cas 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

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.