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.
Rubriques
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
-
Créez des sous-répertoires dans le GoldenGate répertoire Oracle.
Dans le shell de ligne de EC2 commande Amazon
ggsci
, lancez l'interpréteur de GoldenGate commandes Oracle. La commandeCREATE 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
-
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
-
Démarrez le gestionnaire.
L'exemple suivant lance
ggsci
et exécute la commandestart 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.
Étapes de configuration
Étape 1 : activer une journalisation supplémentaire sur la base de données source
Étape 2 : définissez le paramètre d'REPLICATIONinitialisation ENABLE GOLDENGATE _ _ sur true
Étape 3 : définir la période de conservation des journaux sur la base de données source
Étape 4 : créer un compte GoldenGate utilisateur Oracle dans la base de données source
Étape 5 : accorder des privilèges de compte d'utilisateur sur la base de données source
Étape 6 : ajouter un TNS alias pour la base de données source
É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_REPLICATION
initialisation 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
-
Accordez les privilèges nécessaires au compte GoldenGate utilisateur Oracle à l'aide de la SQL commande
grant
et de lardsadmin.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; -
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.
Étapes de configuration
Étape 1 : définissez le paramètre d'REPLICATIONinitialisation ENABLE GOLDENGATE _ _ sur true
Étape 2 : créer un compte GoldenGate utilisateur Oracle sur la base de données cible
Étape 3 : accorder des privilèges de compte sur la base de données cible
Étape 4 : ajouter un TNS alias pour la base de données cible
É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_REPLICATION
initialisation 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
-
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;
-
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)) )