Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einrichten von Oracle GoldenGate
Zur Einrichtung von Oracle GoldenGate mithilfe von Amazon RDS konfigurieren Sie den Hub auf einer Amazon-EC2-Instance und anschließend die Quell- und Zieldatenbanken. In den folgenden Abschnitten sehen Sie anhand eines Beispiels, wie Sie Oracle GoldenGate für die Verwendung mit Amazon RDS für Oracle einrichten.
Themen
Einrichten eines Oracle-GoldenGate-Hubs auf Amazon EC2
Wenn Sie einen Oracle-GoldenGate-Hub auf einer Amazon-EC2-Instance erstellen möchten, erstellen Sie zuerst eine Amazon-EC2-Instance mit einer vollständigen Client-Installation von Oracle RDBMS. Auf der Amazon EC2-Instance muss auch die Oracle GoldenGate-Software installiert sein. Die Softwareversionen von Oracle GoldenGate hängen von den Quell- und Zieldatenbankversionen ab. Weitere Informationen über die Installation von Oracle GoldenGate finden Sie in der Oracle-GoldenGate-Dokumentation
Die Amazon-EC2-Instance, die als Oracle-GoldenGate-Hub dient, speichert und verarbeitet die Transaktionsinformationen aus der Quelldatenbank in Trail-Dateien. Um diesen Prozess zu unterstützen, stellen Sie sicher, dass Sie die folgenden Bedingungen erfüllen:
-
Sie haben genügend Speicherplatz für die Pfaddateien reserviert.
-
Die Amazon EC2-Instance verfügt über genügend Verarbeitungsleistung, um die Datenmenge zu verwalten.
-
Die EC2-Instance verfügt über genügend Speicher, um die Transaktionsinformationen zu speichern, bevor sie in die Pfaddatei geschrieben werden.
So richten Sie einen Hub mit Classic-Architektur von Oracle GoldenGatefür auf einer Amazon-EC2-Instance ein
-
Erstellen Sie Unterverzeichnisse im Oracle-GoldenGate-Verzeichnis.
Starten Sie
ggsciin der Amazon-EC2-Befehlszeilen-Shell. Dies ist der Befehlsinterpreter von Oracle GoldenGate. Mit dem BefehlCREATE SUBDIRSwerden die Unterverzeichnisse im/gg-Verzeichnis für Parameter, Berichte und Prüfpunktdateien erstellt.prompt$ cd /gg prompt$ ./ggsci GGSCI> CREATE SUBDIRS -
Konfigurieren Sie die
mgr.prm-Datei.Im folgenden Beispiel werden der Datei
$GGHOME/dirprm/mgr.prmZeilen hinzugefügt.PORT 8199 PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5 -
Starten Sie den Manager.
Im folgenden Beispiel wird
ggscigestartet und der Befehlstart mgrausgeführt.GGSCI> start mgr
Der Oracle-GoldenGate-Hub ist nun einsatzbereit.
Einrichten einer Quelldatenbank für die Verwendung mit Oracle GoldenGate in Amazon RDS
Führen Sie die folgenden Aufgaben durch, um eine Quelldatenbank für die Verwendung mit Oracle GoldenGate einzurichten.
Einrichtungsschritte
Schritt 1: Aktivieren zusätzlicher Protokollierung in der Quelldatenbank
Schritt 2: Festlegen des Initialisierungsparameters ENABLE_GOLDENGATE_REPLICATION auf „true“
Schritt 3: Festlegen des Protokollaufbewahrungszeitraums in der Quell-Datenbank
Schritt 4: Erstellen eines GoldenGate-Benutzerkontos in der Quelldatenbank
Schritt 5: Erteilen von Berechtigungen für das Benutzerkonto in der Quelldatenbank
Schritt 6: Hinzufügen eines TNS-Alias für die Quelldatenbank
Schritt 1: Aktivieren zusätzlicher Protokollierung in der Quelldatenbank
Führen Sie das folgende PL/SQL-Verfahren aus, um die zusätzliche Protokollierung auf Datenbankebene zu aktivieren:
EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')
Schritt 2: Festlegen des Initialisierungsparameters ENABLE_GOLDENGATE_REPLICATION auf „true“
Wenn Sie den ENABLE_GOLDENGATE_REPLICATION-Initialisierungsparameter auf true einstellen, können Datenbankdienste die logische Replikation unterstützen. Wenn sich Ihre Quelldatenbank auf einer DB-Instance von Amazon RDS befindet, stellen Sie sicher, dass der DB-Instance eine Parametergruppe zugewiesen ist, deren Initialisierungsparameter ENABLE_GOLDENGATE_REPLICATION auf true festgelegt ist. Weitere Informationen zum Initialisierungsparameter ENABLE_GOLDENGATE_REPLICATION finden Sie in der Oracle-Database-Dokumentation
Schritt 3: Festlegen des Protokollaufbewahrungszeitraums in der Quell-Datenbank
Erstellen Sie die Quelldatenbank unbedingt so, dass archivierte Redo-Protokolle aufbewahrt werden. Berücksichtigen Sie die folgenden Hinweise:
-
Geben Sie die Dauer für die Protokollaufbewahrung in Stunden an. Der Mindestwert ist eine Stunde.
-
Legen Sie die Dauer so fest, dass potenzielle Ausfallzeiten der Quell-Instance, jede mögliche Kommunikationsdauer und mögliche Dauer von Netzwerkproblemen für die Quell-Instance überschritten werden. Mit einer solchen Dauer kann Oracle GoldenGate bei Bedarf Protokolle aus der Quell-Instance wiederherstellen.
-
Stellen Sie sicher, dass auf Ihrer Instance genügend Speicherplatz für die Dateien vorhanden ist.
Legen Sie beispielsweise den Aufbewahrungszeitraum für archivierte Redo-Protokolle auf 24 Stunden fest.
EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)
Wenn die Protokollaufbewahrung nicht aktiviert ist oder wenn der Aufbewahrungswert zu klein ist, erhalten Sie eine Meldung ähnlich wie die folgende.
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.
Da Ihre DB-Instance Ihre archivierten Redo-Protokolle aufbewahrt, stellen Sie sicher, dass Sie über ausreichend Speicherplatz für die Dateien verfügen. Verwenden Sie die folgende Abfrage und ersetzen Sie num_hours durch die Anzahl von Stunden, um zu sehen, wie viel Speicherplatz Sie in den letzten num_hours Stunden belegt haben.
SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;
Schritt 4: Erstellen eines GoldenGate-Benutzerkontos in der Quelldatenbank
Oracle GoldenGate wird als Datenbankbenutzer ausgeführt und benötigt die entsprechenden Datenbankberechtigungen für den Zugriff auf die Redo- und die archivierten Redo-Protokolle für die Quelldatenbank. Um diese bereitzustellen, erstellen Sie ein Benutzerkonto in der Quelldatenbank. Weitere Informationen zu den Berechtigungen für ein Oracle-GoldenGate-Benutzerkonto finden Sie in der Oracle-Dokumentation
Mit folgenden Anweisungen wird ein Benutzerkonto mit dem Namen oggadm1 erstellt.
CREATE TABLESPACE administrator; CREATE USER oggadm1 IDENTIFIED BY "password" DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Schritt 5: Erteilen von Berechtigungen für das Benutzerkonto in der Quelldatenbank
Bei dieser Aufgabe gewähren Sie den Datenbankbenutzern in Ihrer Quelldatenbank die erforderlichen Kontoberechtigungen.
So erteilen Sie Kontoberechtigungen in der Quelldatenbank
-
Erteilen Sie dem Oracle-GoldenGate-Benutzerkonto die erforderlichen Berechtigungen mit dem SQL-Befehl
grantund demrdsadmin.rdsadmin_util-Prozessgrant_sys_object. Mit folgenden Anweisungen werden einem Benutzer mit dem Namenoggadm1Berechtigungen erteilt.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 TOrds_master_user_nameWITH 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; -
Erteilen Sie die Berechtigungen, die ein Benutzerkonto benötigt, um Oracle-GoldenGate-Administrator zu sein. Führen Sie das folgenden PL/SQL-Programm durch.
EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'capture', grant_select_privileges => true, do_grants => TRUE);Um Berechtigungen zu widerrufen, verwenden Sie die Prozedur
revoke_admin_privilegeim selben Paket.
Schritt 6: Hinzufügen eines TNS-Alias für die Quelldatenbank
Fügen Sie $ORACLE_HOME/network/admin/tnsnames.ora im Oracle-Standardverzeichnis den folgenden Eintrag hinzu, der vom EXTRACT-Prozess verwendet werden soll. Weitere Informationen zur Datei tnsnames.ora finden Sie in der Oracle-Dokumentation
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)) )
Einrichten einer Zieldatenbank für die Verwendung mit Oracle GoldenGate in Amazon RDS
Bei dieser Aufgabe richten Sie eine Ziel-DB-Instance für die Verwendung mit Oracle GoldenGate ein.
Einrichtungsschritte
Schritt 1: Festlegen des Initialisierungsparameters ENABLE_GOLDENGATE_REPLICATION auf „true“
Wenn Sie den ENABLE_GOLDENGATE_REPLICATION-Initialisierungsparameter auf true einstellen, können Datenbankdienste die logische Replikation unterstützen. Wenn sich Ihre Quelldatenbank auf einer DB-Instance von Amazon RDS befindet, stellen Sie sicher, dass der DB-Instance eine Parametergruppe zugewiesen ist, deren Initialisierungsparameter ENABLE_GOLDENGATE_REPLICATION auf true festgelegt ist. Weitere Informationen zum Initialisierungsparameter ENABLE_GOLDENGATE_REPLICATION finden Sie in der Oracle-Database-Dokumentation
Schritt 2: Erstellen eines Oracle-GoldenGate-Benutzerkontos in der Zieldatenbank.
Oracle GoldenGate wird als Datenbankbenutzer ausgeführt und benötigt die entsprechenden Datenbankberechtigungen. Um sicherzustellen, dass es über diese Berechtigungen verfügt, erstellen Sie ein Benutzerkonto in der Zieldatenbank.
Mit der folgenden Anweisung wird ein Benutzer mit dem Namen oggadm1 erstellt.
CREATE TABLESPSACE administrator; CREATE USER oggadm1 IDENTIFIED BY "password" DEFAULT TABLESPACE administrator TEMPORARY TABLESPACE temp; ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Schritt 3: Erteilen von Kontoberechtigungen in der Zieldatenbank
Bei dieser Aufgabe gewähren Sie den Datenbankbenutzern in Ihrer Zieldatenbank die erforderlichen Kontoberechtigungen.
So erteilen Sie Kontoberechtigungen in der Zieldatenbank
-
Erteilen Sie dem Oracle-GoldenGate-Benutzerkonto in der Zieldatenbank die erforderlichen Berechtigungen. Im folgenden Beispiel erteilen Sie
oggadm1Berechtigungen.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; -
Erteilen Sie die Berechtigungen, die ein Benutzerkonto benötigt, um Oracle-GoldenGate-Administrator zu sein. Führen Sie das folgenden PL/SQL-Programm durch.
EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege ( grantee => 'OGGADM1', privilege_type => 'apply', grant_select_privileges => true, do_grants => TRUE);Um Berechtigungen zu widerrufen, verwenden Sie die Prozedur
revoke_admin_privilegeim selben Paket.
Schritt 4: Hinzufügen eines TNS-Alias für die Zieldatenbank
Fügen Sie $ORACLE_HOME/network/admin/tnsnames.ora im Oracle-Standardverzeichnis den folgenden Eintrag hinzu, der vom REPLICAT-Prozess verwendet werden soll. Stellen Sie bei Oracle-Multitenant-Datenbanken sicher, dass der TNS-Alias auf den Servicenamen der PDB verweist. Weitere Informationen zur Datei tnsnames.ora finden Sie in der Oracle-Dokumentation
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)) )