Configure o Oracle GoldenGate para migrações on-line
Para usar sua própria instância do GoldenGate, o serviço Oracle Cloud Infrastructure Database Migration tem algumas tarefas de pré-requisito adicionais, crie usuários GoldenGate no banco de dados de origem e desbloqueie o usuário GoldenGate no banco de dados de destino (opcional).
Você poderá ter um único usuário para conexão com o banco de dados, se tiver os privilégios necessários. Para o banco de dados de origem, o usuário do CDB e PDBs tem todos os privilégios para GoldenGate e Data Pump.
Criar Usuários do GoldenGate no Banco de Dados de Origem
No banco de dados de origem, crie um usuário da administração GoldenGate, por exemplo, ggadmin
.
Se o banco de dados de origem for multitenant, crie o usuário no PDB e também crie outro usuário na raiz do CDB, por exemplo, c##ggadmin
.
ggadmin
, conecte-se ao PDB e execute os seguintes 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
, conecte-se ao CDB e execute os seguintes 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');
Crie ou Desbloqueie o Usuário do GoldenGate no Banco de Dados de Destino
Em destinos cogerenciados:
Se o destino não for o Oracle Autonomous Database, crie um usuário ggadmin
no PDB de destino. Esse usuário é semelhante ao usuário ggadmin
criado no banco de dados de origem, mas exigirá mais privilégios. Consulte Estabelecendo Credenciais do Oracle GoldenGate para obter informações sobre privilégios necessários para um usuário "Replicat all modes".
Em destinos autônomos:
O Autonomous Database tem um usuário ggadmin
pré-criado que você deve desbloquear. Esses comandos precisam ser executados na instância de Destino GoldenGate.
-
Conecte-se ao banco de dados 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
Um exemplo do ADW_name seria targetatp_high.
-
Desbloqueie
ggadmin
.SQL> ALTER USER ggadmin IDENTIFIED BY ggadmin_password ACCOUNT UNLOCK;
-
Verifique se
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
O Oracle Cloud Infrastructure Database Migration Service suporta apenas os cenários em que o banco de dados de Destino e o Oracle GoldenGate são executados em endereços IP privados.
Tópico principal: Referência