タスク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が、サービスが実行されているシステム・ノードで実行されるためです。
oracleOSユーザーとして、完全修飾ドメイン名(FQDN)を取得します。[opc@exadb-node1 ~]$ sudo su - oracle [oracle@exadb-node1 ~]$ hostname -f exadb-node1.<FQDN>- スタンバイ・システムの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