Additional Configurations for Preparing the Target Database for Online Migration

Before you can migrate data with Oracle Cloud Infrastructure Database Migration, perform additional configurations for your target database for online migration as described here.

You must unlock the ggadmin user from the Oracle Cloud Infrastructure Console by performing the following steps:
  1. Follow step 1 through step 3 mentioned in Manage Users and User Roles on Autonomous Database - Connecting with Database Actions.
  2. Turn off the Account is locked toggle.
  3. Provide a password with its corresponding confirmation.
  • Alternatively, to configure an Autonomous database as a target for online migration, run the following SQL commands:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
 
-- Create GoldenGate user if doesn't exist
CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd CONTAINER=CURRENT DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON GG_ADMIN;
 
-- Or unlock it if exists
ALTER USER GGADMIN IDENTIFIED BY ggadmin_pwd ACCOUNT UNLOCK;
  • To configure a non-Autonomous, single-tenant (non-CDB) as a target for online migration, run the following SQL commands:
-- Global Names
ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
 
-- User system for Datapump
ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK;
 
-- Create GoldenGate nonCDB user
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 100M 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');
  • To configure a non-Autonomous, multi-tenant (CDB) as a target for online migration, run the following SQL commands:
    -- Connect to CDB and run:
     
    -- Global Names
    ALTER SYSTEM SET GLOBAL_NAMES=FALSE;
     
    -- User system for Datapump
    ALTER USER SYSTEM IDENTIFIED BY system_pwd ACCOUNT UNLOCK CONTAINER=ALL;
     
    -- Create GoldenGate PDB User
    ALTER SESSION SET CONTAINER = v_pdb_name;
    CREATE TABLESPACE GG_ADMIN DATAFILE '+DATA/ggadmin_data.dbf' SIZE 100m AUTOEXTEND ON NEXT 100m;
    CREATE USER GGADMIN IDENTIFIED BY ggadmin_pwd CONTAINER=CURRENT DEFAULT TABLESPACE GG_ADMIN TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON GG_ADMIN;
    GRANT CONNECT TO GGADMIN CONTAINER=CURRENT;
    GRANT RESOURCE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE TO GGADMIN CONTAINER=CURRENT;
    GRANT SELECT_CATALOG_ROLE TO GGADMIN CONTAINER=CURRENT;
    GRANT DV_GOLDENGATE_ADMIN TO GGADMIN CONTAINER=CURRENT;
    GRANT DV_GOLDENGATE_REDO_ACCESS TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER SYSTEM TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER USER TO GGADMIN CONTAINER=CURRENT;
    GRANT DATAPUMP_EXP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT;
    GRANT DATAPUMP_IMP_FULL_DATABASE TO GGADMIN CONTAINER=CURRENT;
    GRANT SELECT ANY DICTIONARY TO GGADMIN CONTAINER=CURRENT;
    GRANT SELECT ANY TRANSACTION TO GGADMIN CONTAINER=CURRENT;
    GRANT INSERT ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT UPDATE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT DELETE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT LOCK ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY INDEX TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY CLUSTER TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY OPERATOR TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY TRIGGER TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY TYPE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE ANY VIEW TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY TABLE TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY INDEX TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY CLUSTER TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY INDEXTYPE TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY OPERATOR TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY PROCEDURE TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY TRIGGER TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY TYPE TO GGADMIN CONTAINER=CURRENT;
    GRANT ALTER ANY SEQUENCE TO GGADMIN CONTAINER=CURRENT;
    GRANT CREATE DATABASE LINK TO GGADMIN CONTAINER=CURRENT;
    GRANT EXECUTE ON dbms_lock TO GGADMIN CONTAINER=CURRENT;
    EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('GGADMIN',CONTAINER=>'CURRENT');