Oracle GoldenGate für Onlinemigrationen einrichten

Um Ihre eigene GoldenGate-Instanz zu verwenden, umfasst der Oracle Cloud Infrastructure Database Migration-Service einige zusätzliche obligatorische Aufgaben. Erstellen Sie GoldenGate-Benutzer in der Quelldatenbank, und heben Sie die Sperre des GoldenGate-Benutzers in der Zieldatenbank auf (optional).

Hinweis

Sie können einen einzelnen Benutzer für die Datenbankverbindung haben, wenn Sie über die erforderlichen Berechtigungen verfügen. Für die Quelldatenbank hat der Benutzer für CDB und PDBs alle Berechtigungen für GoldenGate und Data Pump.

GoldenGate-Benutzer in der Quelldatenbank erstellen

Erstellen Sie in der Quelldatenbank einen Administrationsbenutzer GoldenGate, z.B. ggadmin.

Wenn die Quelldatenbank mehrmandantenfähig ist, erstellen Sie den Benutzer in der PDB und zusätzlich einen anderen Benutzer in der CDB-Root. Beispiel: c##ggadmin.

Um ggadmin zu erstellen, melden Sie sich bei der PDB an, und führen Sie die folgenden Befehle aus:
CREATE TABLESPACE gg_admin DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER ggadmin IDENTIFIED BY ggadmin_pwd DEFAULT TABLESPACE gg_admin TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON gg_admin;
GRANT CONNECT TO ggadmin;
GRANT RESOURCE TO ggadmin;
GRANT CREATE TO ggadmin;
GRANT SELECT_CATALOG_ROLE TO ggadmin;
GRANT DV_GOLDENGATE_ADMIN TO ggadmin;
GRANT DV_GOLDENGATE_REDO_ACCESS TO ggadmin;
GRANT ALTER SYSTEM TO ggadmin;
GRANT ALTER USER TO ggadmin;
GRANT DATAPUMP_EXP_FULL_DATABASE TO ggadmin;
GRANT DATAPUMP_IMP_FULL_DATABASE TO ggadmin;
GRANT SELECT ANY DICTIONARY TO ggadmin;
GRANT SELECT ANY TRANSACTION TO ggadmin;
GRANT INSERT ANY TABLE TO ggadmin;
GRANT UPDATE ANY TABLE TO ggadmin;
GRANT DELETE ANY TABLE TO ggadmin;
GRANT LOCK ANY TABLE TO ggadmin;
GRANT CREATE ANY TABLE TO ggadmin;
GRANT CREATE ANY INDEX TO ggadmin;
GRANT CREATE ANY CLUSTER TO ggadmin;
GRANT CREATE ANY INDEXTYPE TO ggadmin;
GRANT CREATE ANY OPERATOR TO ggadmin;
GRANT CREATE ANY PROCEDURE TO ggadmin;
GRANT CREATE ANY SEQUENCE TO ggadmin;
GRANT CREATE ANY TRIGGER TO ggadmin;
GRANT CREATE ANY TYPE TO ggadmin;
GRANT CREATE ANY SEQUENCE TO ggadmin;
GRANT CREATE ANY VIEW TO ggadmin;
GRANT ALTER ANY TABLE TO ggadmin;
GRANT ALTER ANY INDEX TO ggadmin;
GRANT ALTER ANY CLUSTER TO ggadmin;
GRANT ALTER ANY INDEXTYPE TO ggadmin;
GRANT ALTER ANY OPERATOR TO ggadmin;
GRANT ALTER ANY PROCEDURE TO ggadmin;
GRANT ALTER ANY SEQUENCE TO ggadmin;
GRANT ALTER ANY TRIGGER TO ggadmin;
GRANT ALTER ANY TYPE TO ggadmin;
GRANT ALTER ANY SEQUENCE TO ggadmin;
GRANT CREATE DATABASE LINK TO ggadmin;
GRANT EXECUTE ON dbms_lock TO ggadmin;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('ggadmin');
Um c##ggadmin zu erstellen, stellen Sie eine Verbindung zur CDB her, und führen Sie die folgenden Befehle aus:
CREATE USER c##ggadmin IDENTIFIED BY cggadmin_pwd CONTAINER=ALL DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS;
GRANT CONNECT TO c##ggadmin CONTAINER=ALL;
GRANT RESOURCE TO c##ggadmin CONTAINER=ALL;
GRANT CREATE TABLE TO c##ggadmin CONTAINER=ALL;
GRANT CREATE VIEW TO c##ggadmin CONTAINER=ALL;
GRANT CREATE SESSION TO c##ggadmin CONTAINER=ALL;
GRANT SELECT_CATALOG_ROLE TO c##ggadmin CONTAINER=ALL;
GRANT DV_GOLDENGATE_ADMIN TO c##ggadmin CONTAINER=ALL;
GRANT DV_GOLDENGATE_REDO_ACCESS TO c##ggadmin CONTAINER=ALL;
GRANT ALTER SYSTEM TO c##ggadmin CONTAINER=ALL;
GRANT ALTER USER TO c##ggadmin CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO c##ggadmin CONTAINER=ALL;
GRANT SELECT ANY TRANSACTION TO c##ggadmin CONTAINER=ALL;
GRANT EXECUTE ON dbms_lock TO c##ggadmin CONTAINER=ALL;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('c##ggadmin',CONTAINER=>'ALL');

GoldenGate-Benutzer in der Zieldatenbank erstellen oder entsperren

Bei gemeinsam verwalteten Zielen:

Wenn das Ziel nicht Oracle Autonomous Database ist, erstellen Sie einen ggadmin-Benutzer in der Ziel-PDB. Dieser Benutzer ähnelt dem Benutzer ggadmin, den Sie in der Quelldatenbank erstellt haben. Er benötigt jedoch weitere Berechtigungen. Informationen zu den für einen Benutzer "Replicat aller Modi" erforderlichen Berechtigungen finden Sie unter Oracle GoldenGate-Zugangsdaten einrichten.

Bei autonomen Zielen:

Die autonome Datenbank enthält den vorab erstellten Benutzer ggadmin, den Sie entsperren müssen. Diese Befehle müssen auf der GoldenGate-Zielinstanz ausgeführt werden.

  1. Melden Sie sich als admin bei der Zieldatenbank an.

    export TNS_ADMIN=/u02/deployments/Target/etc
    export ORACLE_HOME=/u01/app/client/oracle19
    $ $ORACLE_HOME/bin/sqlplus admin/ADW_password@ADW_name

    Ein Beispiel für ADW_name wäre targetatp_high.

  2. Entsperren Sie ggadmin.

    SQL> ALTER USER ggadmin IDENTIFIED BY ggadmin_password ACCOUNT UNLOCK;
  3. Stellen Sie sicher, dass ggadmin entsperrt ist.

    export TNS_ADMIN=/u02/deployments/Target/etc
    export ORACLE_HOME=/u01/app/client/oracle19
    $ORACLE_HOME/bin/sqlplus ggadmin/ADW_password@ADW_name
Hinweis

Oracle Cloud Infrastructure Database Migration Service unterstützt nur Szenarios, in denen die Zieldatenbank und Oracle GoldenGate beide auf privaten IP-Adressen ausgeführt werden.