オンライン・移行のためのOracle GoldenGateの設定

独自のGoldenGateインスタンスを使用するには、Oracle Cloud Infrastructure Database Migrationサービスにいくつかの追加の前提条件タスクがあり、ソース・データベースでGoldenGateユーザーを作成し、ターゲット・データベースでGoldenGateユーザーのロックを解除します(オプション)。

ノート

必要な権限がある場合は、データベース接続に1人のユーザーを設定できます。ソース・データベースの場合、CDBおよびPDBのユーザーは、GoldenGateおよびData Pumpのすべての権限を持ちます。

ソース・データベースでのGoldenGateユーザーの作成

ソース・データベースで、GoldenGate管理ユーザー(ggadminなど)を作成する必要があります。

ソース・データベースがマルチテナントの場合、PDBにユーザーを作成し、CDBルートに別のユーザー(c##ggadminなど)も作成します。

ggadminを作成するには、PDBに接続し、次のコマンドを実行します。
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を作成するには、CDBに接続し、次のコマンドを実行します。
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ユーザーの作成またはロック解除

共同管理ターゲットの場合:

ターゲットがOracle Autonomous Databaseでない場合は、ターゲットPDBにggadminユーザーを作成します。このユーザーは、ソース・データベースで作成したggadminユーザーに類似していますが、より多くの権限が必要です。"Replicat allモード"ユーザーに必要な権限の詳細は、Oracle GoldenGate資格証明の確立を参照してください。

Autonomousターゲットの場合:

Autonomous Databaseには事前作成済のggadminユーザーがあり、ロック解除する必要があります。これらのコマンドは、GoldenGateターゲット・インスタンスに対して実行する必要があります。

  1. adminとしてターゲット・データベースに接続します。

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

    ADW_nameの例はtargetatp_highです。

  2. ggadminをロック解除します。

    SQL> ALTER USER ggadmin IDENTIFIED BY ggadmin_password ACCOUNT UNLOCK;
  3. ggadminがロック解除されていることを確認します。

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

Oracle Cloud Infrastructure Database Migration Serviceでは、ターゲット・データベースとOracle GoldenGateの両方がプライベートIPアドレスで実行されるシナリオのみがサポートされます。