タスク2 - GoldenGateに向けたOracle Databaseの構成

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

  • ステップ2.1 - Oracle GoldenGate用のスタンバイ・データベースの構成
  • ステップ2.2 - プライマリ・データベース・サービスの変更
  • ステップ2.3 - スタンバイ・データベース・サービスの作成

ステップ2.1 - Oracle GoldenGate用のスタンバイ・データベースの構成

スタンバイ・データベースの初期化パラメータは、「Cloud: Oracle Exadata Database ServiceでのOracle GoldenGate Microservices Architectureの構成のベスト・プラクティス」で指定されているプライマリ・データベースの初期化パラメータと一致する必要があります。

これには次のパラメータが含まれます。

  • ENABLE_GOLDENGATE_REPLICATION=TRUE

  • Oracle GoldenGateソース・データベースの場合は、FORCE LOGGINGモードを有効にし、最小サプリメンタル・ロギングを有効にします。

  • Oracle GoldenGateソース・データベースの場合や統合Replicat (パラレルまたは非パラレル)を実行している場合は、STREAMS_POOL_SIZEを構成します。

ステップ2.2 - プライマリ・データベース・サービスの変更

プライマリ・データベース・サーバーで、Oracle Exadata Database Service構成の、元のOracle GoldenGateの一部として作成された既存のデータベース・サービスを検証します。

デフォルトではサービス・ロールがPRIMARYとして定義されるため、ロール・トランジション後にデータベースがData Guardプライマリ・データベース・ロールになった場合にのみサービスが起動されます。

プライマリ・システムのoracle OSユーザーとして、次に示すコマンドを使用して、サービス・ロールを検証します。

[opc@exapri-node1 ~]$ sudo su - oracle
[oracle@exapri-node1 ~]$ source <db_name>.env
[oracle@exapri-node1 ~]$ srvctl config service -db $ORACLE_UNQNAME |
 egrep 'Service name|role|Pluggable database name'
Service name: <CDB_SERVICE_NAME>
Service role: PRIMARY
Pluggable database name:
Service name: <PDB_SERVICE_NAME>
Service role: PRIMARY
Pluggable database name: <PDB_NAME>

ロールがPRIMARYでない場合は、次に示すコマンドを使用して、サービスを変更します。

[oracle@exapri-node1 ~]$ srvctl modify service -db $ORACLE_UNQNAME
 -service <service_name> -role PRIMARY

データベースがマルチテナント環境の一部である場合は、必ずマルチテナント・コンテナ・データベース(CDB)とプラガブル・データベース(PDB)の両方のサービスを変更してください。

ステップ2.3 - スタンバイ・データベース・サービスの作成

スタンバイOracle Exadata Database Serviceでは、データベースがプライマリ・ロールで開かれたときにOracle Grid Infrastructure AgentがOracle GoldenGateのデプロイを自動的に開始するために、スタンバイ・データベースにデータベース・サービスが必要です。

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

プライマリ・データベースで作成したサービスと同じように、スタンバイ・データベースにサービスを作成します。プライマリ・システムで指定したサービス名と同じものを使用することをお薦めします。サービスは-preferredオプションを使用して、シングルトン・サービスとして作成する必要があります。これは、アプリケーション仮想IPアドレス(VIP)、DBFSおよびOracle GoldenGateが、サービスが実行されているシステム・ノードで実行されるためです。

  1. oracle OSユーザーとして、完全修飾ドメイン名(FQDN)を取得します。
    [opc@exadb-node1 ~]$ sudo su - oracle
    [oracle@exadb-node1 ~]$ hostname -f
    exadb-node1.<FQDN>
  2. スタンバイ・システムのoracle OSユーザーとして、次に示すコマンドを使用してサービスを作成します。
    [opc@exastb-node1 ~]$ sudo su - oracle
    [oracle@exastb-node1 ~]$ source <db_name>.env
    [oracle@exastb-node1 ~]$ srvctl add service -db $ORACLE_UNQNAME
     -service <CDB_SERVICE_NAME>.<FQDN> -preferred <SID1> -available <SID2>
     -role PRIMARY
    [oracle@exastb-node1 ~]$ srvctl add service -db $ORACLE_UNQNAME
     -service <PDB_SERVICE_NAME>.<FQDN> -preferred <SID1> -available <SID2>
     -pdb <PDB name> -role PRIMARY