Configurer Oracle GoldenGate pour des migrations en ligne

Pour utiliser votre propre instance GoldenGate, le service Oracle Cloud Infrastructure Database Migration dispose de quelques tâches prérequises supplémentaires, créez des utilisateurs GoldenGate sur la base de données source et déverrouillez l'utilisateur GoldenGate sur la base de données cible (facultatif).

Remarque

Vous pouvez disposer d'un seul utilisateur pour la connexion à la base de données, si vous disposez des privilèges requis. Pour la base de données source, l'utilisateur pour les bases de données Conteneur et pluggables dispose de tous les privilèges pour GoldenGate et Data Pump.

Création d'utilisateurs GoldenGate sur la base de données source :

Dans la base de données source, vous devez créer un utilisateur d'administration GoldenGate, par exemple ggadmin.

Si la base de données source est colocative, créez l'utilisateur dans la base de données pluggable et créez un autre utilisateur dans la racine de la base de données Conteneur, par exemple c##ggadmin.

Pour créer ggadmin, connectez-vous à la base de données pluggable et exécutez les commandes suivantes :
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');
Pour créer c##ggadmin, connectez-vous à la base de données Conteneur et exécutez les commandes suivantes :
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');

Création ou déverrouillage de l'utilisateur GoldenGate dans la base de données cible

Sur les cibles co-gérées :

Si la cible n'est pas Oracle Autonomous Database, créez un utilisateur ggadmin dans la base de données pluggable cible. Cet utilisateur est semblable à l'utilisateur ggadmin que vous avez créé sur la base de données source, mais nécessite des privilèges supplémentaires. Afin d'avoir plus d'informations sur les privilèges requis pour un utilisateur de type "Réplication de tous les modes", reportez-vous à Etablissement d'informations d'identification Oracle GoldenGate.

Sur les cibles Autonomous :

Autonomous Database dispose d'un utilisateur ggadmin précréé que vous devez déverrouiller. Ces commandes doivent être exécutées sur l'instance cible GoldenGate.

  1. Connectez-vous à la base de données cible en tant qu'admin.

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

    Exemple de ADW_name : targetatp_high.

  2. Déverrouillez ggadmin.

    SQL> ALTER USER ggadmin IDENTIFIED BY ggadmin_password ACCOUNT UNLOCK;
  3. Vérifiez que ggadmin est déverrouillé.

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

Le service Oracle Cloud Infrastructure Database Migration prend en charge uniquement les scénarios dans lesquels la base de données cible et Oracle GoldenGate sont tous deux exécutés sur des adresses IP privées.