Configuration d'Oracle GoldenGate - 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.

Configuration d'Oracle GoldenGate

Pour configurer Oracle à GoldenGate l'aide d'AmazonRDS, configurez le hub sur une EC2 instance Amazon, 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 pour Oracle.

Configuration d'un GoldenGate hub Oracle sur Amazon EC2

Pour créer un GoldenGate hub Oracle sur une EC2 instance Amazon, vous devez d'abord créer une EC2 instance Amazon avec une installation client complète d'OracleRDBMS. Le GoldenGate logiciel Oracle doit également être installé sur l'EC2instance Amazon. 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'EC2instance Amazon 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'EC2instance Amazon dispose d'une puissance de traitement suffisante pour gérer la quantité de données.

  • L'EC2instance dispose de suffisamment de mémoire pour stocker les informations de transaction avant qu'elles ne soient écrites dans le fichier de suivi.

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

    Dans le shell de ligne de EC2 commande Amazonggsci, 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

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/ suivante : SQL

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

Étape 2 : définissez le paramètre d'REPLICATIONinitialisation ENABLE GOLDENGATE _ _ 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 se trouve sur une RDS instance de base de données Amazon, assurez-vous qu'un groupe de paramètres est attribué à l'instance de base de données avec le paramètre d'ENABLE_GOLDENGATE_REPLICATIONinitialisation 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 voir combien d'espace vous avez utilisé au cours de la dernière num_hours heures, exécutez la requête suivante en remplaçant num_hours avec 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 SQL commande 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. Exécutez le SQL programme PL/ suivant.

    EXEC rdsadmin.rdsadmin_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 TNS alias 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éfinissez le paramètre d'REPLICATIONinitialisation ENABLE GOLDENGATE _ _ 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 se trouve sur une RDS instance de base de données Amazon, assurez-vous qu'un groupe de paramètres est attribué à l'instance de base de données avec le paramètre d'ENABLE_GOLDENGATE_REPLICATIONinitialisation 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. Exécutez le SQL programme PL/ suivant.

    EXEC rdsadmin.rdsadmin_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 TNS alias 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'TNSalias pointe vers le nom de service duPDB. 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)) )