Utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle

Oracle GoldenGate collecte, réplique et gère les données transactionnelles entre les bases de données. Il s'agit d'un package logiciel de réplication et de capture de données modifiées basé sur les journaux utilisé avec les bases de données pour les systèmes de traitement transactionnel en ligne (OLTP). Oracle GoldenGate crée des fichiers de suivi qui contiennent les dernières données modifiées de la base de données source. Il transmet (push) ensuite ces fichiers au serveur, où un processus convertit le fichier de suivi en code SQL standard à appliquer à la base de données cible.

Oracle GoldenGate with RDS for Oracle prend en charge les fonctionnalités suivantes :

  • Réplication de base de données active-active

  • Reprise après sinistre

  • Protection des données

  • Réplication dans la Région et entre Régions

  • Migration et mises à niveau sans temps d'arrêt

  • Réplication de données entre une instance de base de données RDS for Oracle et une base de données non-Oracle

    Note

    Pour obtenir la liste des bases de données prises en charge, consultez Oracle Fusion Middleware Supported System Configurations (Configurations système prises en charge par Oracle Fusion Middleware) dans la documentation Oracle.

Vous pouvez utiliser Oracle GoldenGate avec RDS pour Oracle pour effectuer une mise à niveau vers les versions majeures d'Oracle Database. Par exemple, vous pouvez utiliser Oracle pour GoldenGate passer d'une base de données locale Oracle Database 11g à Oracle Database 19c sur une instance de base de données Amazon RDS.

Versions prises en charge et options de licence pour Oracle GoldenGate

Vous pouvez utiliser l'édition Standard 2 (SE2) ou Enterprise (EE) de RDS pour Oracle avec Oracle GoldenGate version 12c ou ultérieure. Vous pouvez utiliser les GoldenGate fonctionnalités Oracle suivantes :

  • Oracle GoldenGate Remote Capture (extrait) est pris en charge.

  • La capture (extract) est prise en charge sur les instances de base de données RDS for Oracle qui utilisent l'architecture de base de données traditionnelle non-CDB. La capture Oracle GoldenGate Remote PDB est prise en charge sur les bases de données de conteneurs (CDB) Oracle Database 21c.

  • Oracle GoldenGate Remote Delivery (replicat) est pris en charge sur RDS pour les instances de base de données Oracle qui utilisent des architectures non CDB ou CDB. Remote Delivery prend en charge les processus Replicat intégré, Replicat parallèle, Replicat coordonné et Replicat classique.

  • RDS for Oracle prend en charge les architectures classiques et microservices d'Oracle. GoldenGate

  • La réplication des valeurs GoldenGate DDL et de séquence Oracle est prise en charge lors de l'utilisation du mode de capture intégré.

Vous êtes responsable de la gestion des GoldenGate licences Oracle (BYOL) pour une utilisation globale avec Amazon RDS. Régions AWS Pour plus d'informations, consultez Options de licence RDS for Oracle.

Exigences et limites d'Oracle GoldenGate

Lorsque vous travaillez avec Oracle GoldenGate et RDS pour Oracle, tenez compte des exigences et limites suivantes :

  • Vous êtes responsable de la configuration et de la gestion d'Oracle en GoldenGate vue de son utilisation avec RDS pour Oracle.

  • Vous êtes responsable de la configuration d'une GoldenGate version d'Oracle certifiée avec les bases de données source et cible. Pour de plus amples informations, veuillez consulter la page Configurations système prises en charge par Oracle Fusion Middleware dans la documentation Oracle.

  • Vous pouvez utiliser Oracle dans GoldenGate de nombreux AWS environnements pour de nombreux cas d'utilisation différents. Si vous rencontrez un problème lié au support Oracle GoldenGate, contactez les services de support Oracle.

  • Vous pouvez utiliser Oracle GoldenGate on RDS pour les instances de base de données Oracle qui utilisent Oracle Transparent Data Encryption (TDE). Pour préserver l'intégrité des données répliquées, configurez le chiffrement sur le GoldenGate hub Oracle à l'aide des volumes chiffrés Amazon EBS ou du chiffrement des fichiers de suivi. Configurez également le chiffrement des données envoyées entre le GoldenGate hub Oracle et les instances de base de données source et cible. Les instances de base de données RDS for Oracle prennent en charge le chiffrement avec Oracle Secure Sockets Layer (SSL) ou Oracle NNE (Native Network Encryption).

GoldenGate Architecture Oracle

L' GoldenGate architecture Oracle à utiliser avec Amazon RDS comprend les modules découplés suivants :

Base de données source

Votre base de données source peut être au choix une base de données Oracle sur site, une base de données Oracle sur une instance Amazon EC2 ou une base de données Oracle sur une instance de base de données Amazon RDS.

GoldenGate Hub Oracle

Un GoldenGate hub Oracle déplace les informations de transaction de la base de données source vers la base de données cible. Votre hub peut être l'un des suivants :

  • Une instance Amazon EC2 sur laquelle Oracle Database et Oracle sont installés GoldenGate

  • Une installation Oracle sur site

Vous pouvez avoir plus d'un hub Amazon EC2. Nous vous recommandons d'utiliser deux hubs si vous utilisez Oracle GoldenGate pour la réplication entre régions.

Base de données cible

Votre base de données cible peut se trouver sur une instance de base de données Amazon RDS, une instance Amazon EC2 ou un emplacement sur site.

Les sections suivantes décrivent des scénarios courants pour Oracle GoldenGate sur Amazon RDS.

Base de données source sur site et hub Oracle GoldenGate

Dans ce scénario, une base de données source Oracle sur site et un GoldenGate hub Oracle sur site fournissent des données à une instance de base de données Amazon RDS cible.


					 GoldenGate Configuration Oracle 0 à l'aide d'Amazon RDS

Base de données source sur site et hub Amazon EC2

Dans ce scénario, une base de données Oracle sur site agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.


					 GoldenGate Configuration Oracle 1 à l'aide d'Amazon RDS

Base de données source Amazon RDS et hub Amazon EC2

Dans ce scénario, une instance de base de données RDS for Oracle agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.


					 GoldenGate Configuration Oracle 2 à l'aide d'Amazon RDS

Base de données source Amazon EC2 et hub Amazon EC2

Dans ce scénario, une base de données Oracle sur une instance Amazon EC2 agit comme base de données source. Elle est connectée à un hub d'instance Amazon EC2. Ce hub fournit des données à une instance de base de données RDS for Oracle cible.


					 GoldenGate Configuration Oracle 3 à l'aide d'Amazon RDS

Hubs Amazon EC2 dans différentes Régions AWS

Dans ce scénario, une base de données Oracle sur une instance de base de données Amazon RDS est connectée à un hub d'instance Amazon EC2 dans la même Région AWS. Le hub est connecté à un hub d'instance Amazon EC2 d'une autre Région AWS. Ce second hub fournit des données à l'instance de base de données cible RDS for Oracle dans la même Région AWS que le second hub d'instance Amazon EC2.


					 GoldenGate Configuration Oracle 4 à l'aide d'Amazon RDS
Note

Tout problème affectant l'exécution d'Oracle dans un environnement GoldenGate sur site affecte également l'exécution d'Oracle GoldenGate surAWS. Nous vous recommandons vivement de surveiller le GoldenGate hub Oracle pour vous en assurer EXTRACT et REPLICAT de le reprendre en cas de basculement. Le GoldenGate hub Oracle étant exécuté sur une instance Amazon EC2, Amazon RDS ne gère pas le GoldenGate hub Oracle et ne peut pas garantir son fonctionnement.

Configuration d'Oracle GoldenGate

Pour configurer Oracle à GoldenGate l'aide d'Amazon RDS, configurez le hub sur une instance Amazon EC2, puis configurez les bases de données source et cible. Les sections suivantes fournissent un exemple de configuration d'Oracle GoldenGate pour une utilisation avec Amazon RDS for Oracle.

Configuration d'un GoldenGate hub Oracle sur Amazon EC2

Pour créer un GoldenGate hub Oracle sur une instance Amazon EC2, vous devez d'abord créer une instance Amazon EC2 avec une installation client complète d'Oracle RDBMS. Le GoldenGate logiciel Oracle doit également être installé sur l'instance Amazon EC2. Les versions du GoldenGate logiciel Oracle dépendent des versions de base de données source et cible. Pour plus d'informations sur l'installation d'Oracle GoldenGate, consultez la GoldenGatedocumentation Oracle.

L'instance Amazon EC2 qui sert de GoldenGate hub Oracle stocke et traite les informations de transaction de la base de données source dans des fichiers de suivi. Pour prendre en charge ce processus, veillez à respecter les exigences suivantes :

  • Vous avez alloué suffisamment de stockage aux fichiers de suivi.

  • L'instance Amazon EC2 dispose d'une puissance de traitement suffisante pour traiter le volume de données.

  • L'instance EC2 dispose de suffisamment de mémoire pour stocker les informations de transaction avant leur écriture dans le fichier de suivi.

Pour configurer un hub d'architecture GoldenGate classique Oracle sur une instance Amazon EC2
  1. Créez des sous-répertoires dans le GoldenGate répertoire Oracle.

    Dans le shell de ligne de commande Amazon EC2ggsci, lancez l'interpréteur de GoldenGate commandes Oracle. La commande CREATE SUBDIRS crée des sous-répertoires sous le répertoire /gg pour les fichiers de point de vérification, de rapport et de paramètres.

    prompt$ cd /gg prompt$ ./ggsci GGSCI> CREATE SUBDIRS
  2. Configurez le fichier mgr.prm.

    L'exemple suivant ajoute des lignes dans le fichier $GGHOME/dirprm/mgr.prm.

    PORT 8199 PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
  3. Démarrez le gestionnaire.

    L'exemple suivant lance ggsci et exécute la commande start mgr.

    GGSCI> start mgr

Le GoldenGate hub Oracle est maintenant prêt à être utilisé.

Configuration d'une base de données source à utiliser avec Oracle GoldenGate sur Amazon RDS

Lorsque votre base de données source exécute Oracle Database 12c ou version ultérieure, effectuez les tâches suivantes pour configurer une base de données source à utiliser avec Oracle GoldenGate.

Étape 1 : activer une journalisation supplémentaire sur la base de données source

Pour activer la journalisation supplémentaire minimale au niveau de la base de données, exécutez la procédure PL/SQL suivante :

EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')

Étape 2 : définir le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION sur true

Lorsque vous définissez le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION sur true, il permet aux services de base de données de prendre en charge la réplication logique. Si votre base de données source est sur une instance de base de données Amazon RDS, veillez à disposer d'un groupe de paramètres affecté à l'instance de base de données avec le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION défini sur true. Pour plus d'informations sur le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION, consultez la documentation Oracle Database.

Étape 3 : définir la période de conservation des journaux sur la base de données source

Veillez à configurer la base de données source de manière à conserver les journaux redo archivés. Considérez les directives suivantes :

  • Spécifiez la durée de conservation des journaux en heures. La valeur minimale est d'une heure.

  • Définissez cette durée de manière à ce qu'elle dépasse tout temps d'arrêt éventuel de l'instance de base de données source ou la durée de tout problème potentiel de communication ou de mise en réseau pour l'instance source. Une telle durée permet à Oracle de GoldenGate récupérer les journaux de l'instance source selon les besoins.

  • Assurez-vous de disposer d'un espace de stockage suffisant sur votre instance pour les fichiers.

Par exemple, définissez la période de conservation des journaux redo archivés sur 24 heures.

EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)

Si la conservation des journaux n'est pas activée ou si la valeur de conservation est trop faible, vous recevez un message d'erreur similaire au suivant.

2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.

Étant donné que votre instance de base de données conserve vos journaux redo archivés, assurez-vous de disposer de suffisamment d'espace pour les fichiers. Pour vérifier la quantité d'espace utilisée au cours des num_hours dernière heures, exécutez la requête suivante, en remplaçant num_hours par le nombre d'heures.

SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;

Étape 4 : créer un compte GoldenGate utilisateur Oracle dans la base de données source

Oracle GoldenGate fonctionne en tant qu'utilisateur de base de données et nécessite les privilèges de base de données appropriés pour accéder aux journaux de restauration et aux journaux de journalisation archivés de la base de données source. Pour cela, créez un compte d'utilisateur sur la base de données source. Pour plus d'informations sur les autorisations associées à un compte GoldenGate utilisateur Oracle, consultez la documentation Oracle.

Les instructions suivantes créent un compte d'utilisateur nommé oggadm1.

CREATE TABLESPACE administrator; CREATE USER oggadm1  IDENTIFIED BY "password" DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

Étape 5 : accorder des privilèges de compte d'utilisateur sur la base de données source

Dans cette tâche, vous accordez les privilèges de compte nécessaires aux utilisateurs de base de données sur votre base de données source.

Pour accorder des privilèges de compte sur la base de données source
  1. Accordez les privilèges nécessaires au compte GoldenGate utilisateur Oracle à l'aide de la commande SQL grant et de la rdsadmin.rdsadmin_util procéduregrant_sys_object. Les instructions suivantes accordent des privilèges à un utilisateur nommé oggadm1.

    GRANT CREATE SESSION, ALTER SESSION TO oggadm1; GRANT RESOURCE TO oggadm1; GRANT SELECT ANY DICTIONARY TO oggadm1; GRANT FLASHBACK ANY TABLE TO oggadm1; GRANT SELECT ANY TABLE TO oggadm1; GRANT SELECT_CATALOG_ROLE TO rds_master_user_name WITH ADMIN OPTION; EXEC rdsadmin.rdsadmin_util.grant_sys_object ('DBA_CLUSTERS', 'OGGADM1'); GRANT EXECUTE ON DBMS_FLASHBACK TO oggadm1; GRANT SELECT ON SYS.V_$DATABASE TO oggadm1; GRANT ALTER ANY TABLE TO oggadm1;
  2. Accordez les privilèges nécessaires à un compte utilisateur pour être un GoldenGate administrateur Oracle. Le package que vous utilisez pour octroyer l'accord, dbms_goldengate_auth ou rdsadmin_dbms_goldengate_auth, dépend de la version du moteur de base de données Oracle.

    • Pour les versions de base de données Oracle antérieures ou égales à Oracle Database 12c version 2 (12.2), qui nécessitent le niveau de correctif 12.2.0.1.ru-2019-04.rur-2019-04.r1 ou ultérieur, exécutez le programme PL/SQL suivant.

      EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'capture', grant_select_privileges => true, do_grants => TRUE);
    • Pour les versions de base de données Oracle antérieures à Oracle Database 12c version 2 (12.2), exécutez le programme PL/SQL suivant.

      EXEC dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'capture', grant_select_privileges => true, do_grants => TRUE);

    Pour révoquer des privilèges, utilisez la procédure revoke_admin_privilege dans le même package.

Étape 6 : ajouter un alias TNS pour la base de données source

Ajoutez l'entrée suivante à $ORACLE_HOME/network/admin/tnsnames.ora dans le répertoire de base de base de données Oracle que doit utiliser le processus EXTRACT. Pour de plus amples informations sur le fichier tnsnames.ora, veuillez consulter la documentation Oracle.

OGGSOURCE= (DESCRIPTION= (ENABLE=BROKEN) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-source.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200))) (CONNECT_DATA=(SERVICE_NAME=ORCL)) )

Configuration d'une base de données cible à utiliser avec Oracle GoldenGate sur Amazon RDS

Dans cette tâche, vous configurez une instance de base de données cible à utiliser avec Oracle GoldenGate.

Étape 1 : définir le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION sur true

Lorsque vous définissez le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION sur true, il permet aux services de base de données de prendre en charge la réplication logique. Si votre base de données source est sur une instance de base de données Amazon RDS, veillez à disposer d'un groupe de paramètres affecté à l'instance de base de données avec le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION défini sur true. Pour plus d'informations sur le paramètre d'initialisation ENABLE_GOLDENGATE_REPLICATION, consultez la documentation Oracle Database.

Étape 2 : créer un compte GoldenGate utilisateur Oracle sur la base de données cible

Oracle GoldenGate fonctionne en tant qu'utilisateur de base de données et nécessite les privilèges de base de données appropriés. Pour vous assurer qu'il possède ces privilèges, créez un compte d'utilisateur sur la base de données cible.

L'instruction suivante crée un utilisateur nommé oggadm1.

CREATE TABLESPSACE administrator; CREATE USER oggadm1  IDENTIFIED BY "password" DEFAULT TABLESPACE administrator TEMPORARY TABLESPACE temp; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

Étape 3 : accorder des privilèges de compte sur la base de données cible

Dans cette tâche, vous accordez les privilèges de compte nécessaires aux utilisateurs de base de données sur votre base de données cible.

Pour accorder des privilèges de compte sur la base de données cible
  1. Accordez les privilèges nécessaires au compte GoldenGate utilisateur Oracle sur la base de données cible. Dans l'exemple suivant, vous accordez des privilèges à oggadm1.

    GRANT CREATE SESSION        TO oggadm1; GRANT ALTER SESSION         TO oggadm1; GRANT CREATE CLUSTER        TO oggadm1; GRANT CREATE INDEXTYPE      TO oggadm1; GRANT CREATE OPERATOR       TO oggadm1; GRANT CREATE PROCEDURE      TO oggadm1; GRANT CREATE SEQUENCE       TO oggadm1; GRANT CREATE TABLE          TO oggadm1; GRANT CREATE TRIGGER        TO oggadm1; GRANT CREATE TYPE           TO oggadm1; GRANT SELECT ANY DICTIONARY TO oggadm1; GRANT CREATE ANY TABLE      TO oggadm1; GRANT ALTER ANY TABLE       TO oggadm1; GRANT LOCK ANY TABLE        TO oggadm1; GRANT SELECT ANY TABLE      TO oggadm1; GRANT INSERT ANY TABLE      TO oggadm1; GRANT UPDATE ANY TABLE      TO oggadm1; GRANT DELETE ANY TABLE      TO oggadm1;
  2. Accordez les privilèges nécessaires à un compte utilisateur pour être un GoldenGate administrateur Oracle. Le package que vous utilisez pour octroyer l'accord, dbms_goldengate_auth ou rdsadmin_dbms_goldengate_auth, dépend de la version du moteur de base de données Oracle.

    • Pour les versions de base de données Oracle supérieures ou égales à Oracle Database 12c version 2 (12.2), qui nécessitent le niveau de correctif 12.2.0.1.ru-2019-04.rur-2019-04.r1 ou ultérieur, exécutez le programme PL/SQL suivant.

      EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'apply', grant_select_privileges => true, do_grants => TRUE);
    • Pour les versions de base de données Oracle inférieures à Oracle Database 12c version 2 (12.2), exécutez le programme PL/SQL suivant.

      EXEC dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'apply', grant_select_privileges => true, do_grants => TRUE);

    Pour révoquer des privilèges, utilisez la procédure revoke_admin_privilege dans le même package.

Étape 4 : ajouter un alias TNS pour la base de données cible

Ajoutez l'entrée suivante à $ORACLE_HOME/network/admin/tnsnames.ora dans le répertoire de base de base de données Oracle que doit utiliser le processus REPLICAT. Pour les bases de données Oracle Multitenant, assurez-vous que l'alias TNS pointe vers le nom de service de la PDB. Pour de plus amples informations sur le fichier tnsnames.ora, veuillez consulter la documentation Oracle.

OGGTARGET= (DESCRIPTION= (ENABLE=BROKEN) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-target.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200))) (CONNECT_DATA=(SERVICE_NAME=ORCL)) )

Utilisation des utilitaires EXTRACT et REPLICAT d'Oracle GoldenGate

Les GoldenGate utilitaires EXTRACT Oracle REPLICAT travaillent ensemble pour synchroniser les bases de données source et cible grâce à une réplication incrémentielle des transactions à l'aide de fichiers de suivi. Toutes les modifications apportées à la base de données source sont automatiquement détectéesEXTRACT, puis formatées et transférées vers des fichiers de suivi sur le hub d'instance Oracle sur GoldenGate site ou Amazon EC2. Après le chargement initial, les données sont lues depuis ces fichiers et répliquées sur la base de données cible par l'utilitaire REPLICAT.

Exécution de l'utilitaire Oracle GoldenGate EXTRACT

L'utilitaire EXTRACT récupère et convertit des données provenant de la base de données source pour les fournir en sortie dans des fichiers de suivi. La procédure de base est la suivante :

  1. EXTRACT met en file d'attente les détails de transaction pour les stocker dans la mémoire ou dans un stockage temporaire sur disque.

  2. La base de données source valide la transaction.

  3. EXTRACT écrit les détails de la transaction dans un fichier de suivi.

  4. Le fichier de suivi achemine ces informations vers le hub d'instance Oracle GoldenGate sur site ou Amazon EC2, puis vers la base de données cible.

Les étapes suivantes démarrent l'utilitaire EXTRACT, capturent les données de EXAMPLE.TABLE dans la base de données source OGGSOURCE et créent les fichiers de suivi.

Pour exécuter l'utilitaire EXTRACT
  1. Configurez le fichier de EXTRACT paramètres sur le GoldenGate hub Oracle (sur site ou instance Amazon EC2). La liste suivante affiche un exemple de fichier de paramètres EXTRACT nommé $GGHOME/dirprm/eabc.prm.

    EXTRACT EABC   USERID oggadm1@OGGSOURCE, PASSWORD "my-password" EXTTRAIL /path/to/goldengate/dirdat/ab   IGNOREREPLICATES GETAPPLOPS TRANLOGOPTIONS EXCLUDEUSER OGGADM1   TABLE EXAMPLE.TABLE;
  2. Sur le GoldenGate hub Oracle, connectez-vous à la base de données source et lancez l'interface de ligne de GoldenGate commande Oracleggsci. L'exemple suivant illustre le format pour la connexion.

    dblogin oggadm1@OGGSOURCE
  3. Ajoutez des données de transaction pour activer la journalisation supplémentaire pour la table de base de données.

    add trandata EXAMPLE.TABLE
  4. En utilisant la ligne de commande ggsci, activez l'utilitaire EXTRACT en utilisant les commandes suivantes.

    add extract EABC tranlog, INTEGRATED tranlog, begin now add exttrail /path/to/goldengate/dirdat/ab extract EABC, MEGABYTES 100
  5. Enregistrez l'utilitaire EXTRACT avec la base de données afin que les journaux d'archivage ne soient pas supprimés. Cette tâche vous permet de récupérer d'anciennes transactions non validées, si nécessaire. Pour enregistrer l'utilitaire EXTRACT avec la base de données, utilisez la commande suivante.

    register EXTRACT EABC, DATABASE
  6. Démarrez l'utilitaire EXTRACT avec la commande suivante.

    start EABC

Exécution de l'utilitaire Oracle GoldenGate REPLICAT

L'utilitaire REPLICAT transmet (push) les informations de transaction des fichiers de suivi vers la base de données cible.

Les étapes suivantes permettent d'activer et de démarrer l'utilitaire REPLICAT afin qu'il puisse répliquer les données capturées dans la table EXAMPLE.TABLE de la base de données cible OGGTARGET.

Pour exécuter l'utilitaire REPLICATE
  1. Configurez le fichier de REPLICAT paramètres sur le GoldenGate hub Oracle (instance sur site ou EC2). La liste suivante affiche un exemple de fichier de paramètres REPLICAT nommé $GGHOME/dirprm/rabc.prm.

    REPLICAT RABC   USERID oggadm1@OGGTARGET, password "my-password"   ASSUMETARGETDEFS MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
    Note

    Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

  2. Connectez-vous à la base de données cible et lancez l'interface de ligne de GoldenGate commande Oracle (ggsci). L'exemple suivant illustre le format pour la connexion.

    dblogin userid oggadm1@OGGTARGET
  3. En utilisant la ligne de commande ggsci, ajoutez une table de points de vérification. L'utilisateur indiqué doit être le compte GoldenGate utilisateur Oracle, et non le propriétaire du schéma de table cible. L'exemple suivant crée une table de points de vérification nommée gg_checkpoint.

    add checkpointtable oggadm1.oggchkpt
  4. Pour activer l'utilitaire REPLICAT, utilisez la commande suivante :

    add replicat RABC EXTTRAIL /path/to/goldengate/dirdat/ab CHECKPOINTTABLE oggadm1.oggchkpt
  5. Démarrez l'utilitaire REPLICAT en utilisant la commande suivante :

    start RABC

Surveillance d'Oracle GoldenGate

Lorsque vous utilisez Oracle GoldenGate pour la réplication, assurez-vous que le GoldenGate processus Oracle est opérationnel et que les bases de données source et cible sont synchronisées. Vous pouvez utiliser les outils de surveillance suivants :

  • Amazon CloudWatch est un service de surveillance utilisé dans ce modèle pour surveiller les journaux GoldenGate d'erreurs.

  • Amazon SNS est un service de notification par messages utilisé dans ce modèle pour envoyer des e-mails de notification.

Pour obtenir des instructions détaillées, consultez Surveiller GoldenGate les journaux Oracle à l'aide d'Amazon CloudWatch.

Dépannage d'Oracle GoldenGate

Cette section décrit les problèmes les plus courants liés à l'utilisation d'Oracle GoldenGate avec Amazon RDS for Oracle.

Erreur lors de l'ouverture d'un journal redo en ligne

Veillez à configurer vos bases de données pour conserver les journaux redo archivés. Considérez les directives suivantes :

  • Spécifiez la durée de conservation des journaux en heures. La valeur minimale est d'une heure.

  • Définissez cette durée de manière à ce qu'elle dépasse tout temps d'arrêt éventuel de l'instance de base de données source ou la durée de tout problème potentiel de communication ou de mise en réseau pour l'instance de base de données source. Une telle durée permet à Oracle de GoldenGate récupérer les journaux de l'instance de base de données source selon les besoins.

  • Assurez-vous de disposer d'un espace de stockage suffisant sur votre instance pour les fichiers.

Si la conservation des journaux n'est pas activée ou si la valeur de conservation est trop faible, vous recevez un message d'erreur similaire au suivant.

2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.

Oracle GoldenGate semble être correctement configuré mais la réplication ne fonctionne pas

Pour les tables préexistantes, vous devez spécifier le SCN à partir duquel Oracle GoldenGate travaille.

Pour résoudre ce problème
  1. Connectez-vous à la base de données source et lancez l'interface de ligne de GoldenGate commande Oracle (ggsci). L'exemple suivant illustre le format pour la connexion.

    dblogin userid oggadm1@OGGSOURCE
  2. À l'aide de la ligne de commande ggsci, configurez le numéro SCN de départ du processus EXTRACT. L'exemple suivant définit le SCN sur 223274 pour EXTRACT.

    ALTER EXTRACT EABC SCN 223274 start EABC
  3. Connectez-vous à la base de données cible. L'exemple suivant illustre le format pour la connexion.

    dblogin userid oggadm1@OGGTARGET
  4. À l'aide de la ligne de commande ggsci, configurez le numéro SCN de départ du processus REPLICAT. L'exemple suivant définit le SCN sur 223274 pour REPLICAT.

    start RABC atcsn 223274

Lenteur du REPLICAT intégré en raison d'une requête sur SYS."_DBA_APPLY_CDR_INFO"

Oracle GoldenGate Conflict Detection and Resolution (CDR) fournit des routines de résolution de conflits de base. Par exemple, CDR peut résoudre un conflit unique pour une instruction INSERT.

Lorsque le CDR résout une collision, il peut temporairement insérer des enregistrements dans la table des exceptions _DBA_APPLY_CDR_INFO. Le processus REPLICAT intégré supprime ces enregistrements par la suite. Il existe un scénario rare dans lequel le processus REPLICAT intégré peut traiter un grand nombre de collisions, mais aucun nouveau processus REPLICAT intégré ne le remplace. Au lieu d'être supprimées, les lignes existantes de _DBA_APPLY_CDR_INFO sont orphelines. Tous les nouveaux processus REPLICAT intégrés ralentissent car ils interrogent des lignes orphelines dans _DBA_APPLY_CDR_INFO.

Pour supprimer toutes les lignes de _DBA_APPLY_CDR_INFO, utilisez la procédure Amazon RDS rdsadmin.rdsadmin_util.truncate_apply$_cdr_info. Cette procédure est publiée dans le cadre de la version et de la mise à jour d'octobre 2020. La procédure est disponible dans les versions suivantes des bases de données :

L'exemple suivant tronque la table _DBA_APPLY_CDR_INFO.

SET SERVEROUTPUT ON SIZE 2000 EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;