タスク1: Oracle GoldenGateのソースおよびターゲット・データベースの構成

ソースおよびターゲットのOracle GoldenGateデータベースは、次に示す推奨事項を使用して構成する必要があります。

このタスクを完了するには、次のステップを実行します。

  • ステップ1.1 - データベース構成
  • ステップ1.2 - データベース・レプリケーション管理者ユーザーの作成
  • ステップ1.3 - データベース・サービスの作成

ステップ1.1 - データベース構成

ソースおよびターゲットのOracle GoldenGateデータベースは、次に示す推奨事項を使用して構成する必要があります。

構成 有効範囲
ARCHIVELOGモードを有効にする

ソース、ターゲット

SQL> ARCHIVE LOG LIST
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     110
Next log sequence to archive   113
Current log sequence           113
FORCE LOGGINGを有効にする

ソース、ターゲット

ALTER DATABASE FORCE LOGGING;
ENABLE_GOLDENGATE_REPLICATION

ソース、ターゲット、スタンバイ

ALTER SYSTEM
 SET ENABLE_GOLDENGATE_REPLICATION=TRUE
 SCOPE=BOTH SID='*';
サブセット・データベース・レプリケーションのロギングの有効化

ソース

レプリケーションの逆転の場合にターゲットで必要

サブセット・データベース・レプリケーション・ロギングを有効にするには、Oracle GoldenGate Microservices Architectureドキュメント: サブセット・データベース・レプリケーション・ロギングの有効化のステップに従います

CDBルート・レベルの統合Extractおよび統合Replicatが使用されている場合のみ、GoldenGateに対応するようにSTREAMS_POOL_SIZEを大きく設定します

ノート:

ノート: 共有プールを使用するPDBごとのExtractおよびパラレルReplicatを使用することをお薦めします。ストリーム・プールを明示的に設定する必要はありません。詳細は、MOSドキュメント2998659.1を参照してください。

ソース

レプリケーションの逆転の場合にターゲットで必要

STREAMS_POOL_SIZEの値は、次に示す値に設定する必要があります。

STREAMS_POOL_SIZE = (((#Extracts + #Integrated Replicats) * 1GB) * 1.25)

たとえば、2つのExtractと2つの統合Replicatがあるデータベースの場合は、次のようになります。

STREAMS_POOL_SIZE = 4GB * 1.25 = 5GB

ALTER SYSTEM
 SET STREAMS_POOL_SIZE=5G
 SCOPE=BOTH SID='*';

ステップ1.2 - データベース・レプリケーション管理者ユーザーの作成

GoldenGate管理者ユーザー・アカウントは、GoldenGate ExtractおよびReplicatプロセスが接続するソース・データベースとターゲット・データベースの両方に必要です。

ExtractプロセスをPDBごとのExtractに構成します。Extractプロセスは、PDBごとのExtractまたはルートCDB Extractとして構成できます。c##共通データベース・ユーザーを必要としないPDBごとのExtractを使用することをお薦めします。PDBごとのExtractには、抽出元のPDBにローカルのGoldenGate管理者ユーザー(たとえば、ggadmin)が必要です。これは、Replicatで使用されるものと同じGoldenGate管理者アカウントであり、Extractに必要な追加の権限があります。

GoldenGate管理者データベース・ユーザーを作成し、Oracleのデータベース・ユーザーおよび権限の準備の説明に従って適切な権限を割り当てます。

ステップ1.3 - データベース・サービスの作成

ソース・データベースとターゲット・データベースがOracle Data Guardを使用するOracle RACクラスタで推奨構成を実行している場合は、ExtractまたはReplicatプロセスが適切なData Guardプライマリ・データベース・インスタンスに接続できるロールベースのサービスを作成する必要があります。

ソース・マルチテナント・データベースをルート・レベルのExtractで使用する場合は、ルート・コンテナ・データベース(CDB)とレプリケートされるスキーマを含むプラガブル・データベース(PDB)に、個別のサービスが必要です。ターゲット・マルチテナント・データベースの場合は、PDBに単一のサービスが必要です。PDBごとのExtractには、ルート・コンテナ・データベース・サービスは必要ありません。

  1. プライマリおよびスタンバイ・データベース・システムのoracle OSユーザーとして、次のコマンドを使用してCDBデータベース・サービスを作成および開始します。

    [oracle@exadb1_node1 ~]$ srvctl add service -db <dbName>
     -service <dbName>_goldengate -preferred <ORACLE_SID1> -available <ORACLE_SID2>
     -role PRIMARY
  2. プライマリおよびスタンバイ・データベース・システムのoracle OSユーザーとして、次のコマンドを使用してPDBデータベース・サービスを作成および開始します。

    [oracle@exadb1_node1 ~]$ srvctl add service -db <dbName>
     -service <dbName>_<pdbName>_goldengate -preferred <ORACLE_SID1>
     -available <ORACLE_SID2> -pdb <pdbName> -role PRIMARY
  3. プライマリおよびスタンバイ・データベース・システムのoracle OSユーザーとして、次に示すように、開始してサービスを実行していることを確認します。

    [oracle@exadb1_node1 ~]$ srvctl start service -db <dbName> -role
    [oracle@exadb1_node1 ~]$ srvctl status service -db <dbName> |grep goldengate
    
    Service <dbName>_goldengate  is running on instance(s) <SID1>
    Service <dbName>_<pdbName>_goldengate is running on instance(s) <SID1>

ノート:

ソースおよびターゲット・データベース・システムでステップ1.3を繰り返します。