Configurar Oracle GoldenGate para migraciones en pantalla
Para utilizar su propia instancia GoldenGate, el servicio Oracle Cloud Infrastructure Database Migration tiene algunas tareas previas necesarias adicionales, cree usuarios de GoldenGate en la base de datos de origen y desbloquee el usuario GoldenGate en la base de datos de destino (opcional).
Puede tener un único usuario para la conexión a la base de datos, si tiene los privilegios necesarios. Para la base de datos origen, el usuario de CDB y PDB tiene todos los privilegios para GoldenGate y Data Pump.
Creación de usuarios de GoldenGate en la base de datos de origen
En la base de datos origen, debe crear un usuario GoldenGate de administración, por ejemplo, ggadmin
.
Si la base de datos de origen es multiinquilino, cree el usuario en la PDB y, además, cree un usuario diferente en la raíz de la CDB, por ejemplo, c##ggadmin
.
ggadmin
, conéctese a la PDB y ejecute los siguientes comandos: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');
c##ggadmin
, conéctese a la CDB y ejecute los siguientes comandos: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');
Creación o desbloqueo del usuario de GoldenGate en la base de datos de destino
En destinos gestionados conjuntamente:
Si el destino no es una instancia de Oracle Autonomous Database, cree un usuario ggadmin
en la PDB de destino. Este usuario es similar al usuario ggadmin
que ha creado en la base de datos de origen, pero necesitará más privilegios. Consulte la sección sobre el establecimiento de credenciales de Oracle GoldenGate para obtener información sobre los privilegios necesarios para un usuario "Replicar todos los modos".
En destinos autónomos:
Autonomous Database tiene un usuario ggadmin
creado previamente que debe desbloquear. Estos comandos se deben ejecutar en la instancia de destino GoldenGate.
-
Conéctese a la base de datos de destino como
admin
.export TNS_ADMIN=/u02/deployments/Target/etc export ORACLE_HOME=/u01/app/client/oracle19 $ $ORACLE_HOME/bin/sqlplus admin/ADW_password@ADW_name
Un ejemplo de ADW_name sería targetatp_high.
-
Desbloquee
ggadmin
.SQL> ALTER USER ggadmin IDENTIFIED BY ggadmin_password ACCOUNT UNLOCK;
-
Verifique que
ggadmin
esté desbloqueado.export TNS_ADMIN=/u02/deployments/Target/etc export ORACLE_HOME=/u01/app/client/oracle19 $ORACLE_HOME/bin/sqlplus ggadmin/ADW_password@ADW_name
El servicio Oracle Cloud Infrastructure Database Migration solo soporta aquellos escenarios en los que la base de datos de destino y Oracle GoldenGate se ejecutan en direcciones IP privadas.
Tema principal: Referencia