はじめに
GoldenGateはデータベース間でデータの同期が可能な製品です。
また、異種データベース間でのデータ同期にも対応しています。
GoldenGateには2種類のアーキテクチャーが存在します。
(ClassicArchitectureとMicroservicesArchitecture)
GoldenGate23aiではClassicArchitectureが提供されなくなりました(for Linux)
今回は異種データベース間かつ異種アーキテクチャ間における、
環境構築からデータ同期までを整理したいと思います。
全体概要図

・GoldenGateのバージョン:ソース、ターゲットともに23ai
・異種プラットフォーム間:NonStopサーバ(Guardian) To Linux
・異種データベース間:NonStopSQL To OracleDB
・異種アーキテクチャ間:ClassicArchitecture To MicroServicesArchitecture
※23aiにおいて、Linux版はMicroServicesArchitectureのみの提供となり、
NonStop版はClassicArchitectureのみの提供となります。
本ページではターゲット側(Linux:MicroServicesArchitecture)の
GoldenGate環境構築の流れを説明します。
・GoldenGateを使用した異種DB間データ同期①:ソース側(NonStopサーバ)環境構築
https://qiita.com/KazukiFujita/items/8c5a5cd21188f9cd4f31
・GoldenGateを使用した異種DB間データ同期②:ターゲット側(Linux)環境構築
https://qiita.com/KazukiFujita/items/444335efe9e05b420207
→本ページはこちらです。
・GoldenGateを使用した異種DB間データ同期③:データ同期
https://qiita.com/KazukiFujita/items/b794f32cc4eed5ae3627
1.ターゲット側(Linux)へのGoldenGateインストールおよび環境構築
ターゲット側、LinuxへのGoldenGateのインストールを行います。
1-1.GoldenGate23ai(for Linux)のダウンロード
Oracleホームページよりファイルを入手します。
ファイル名:V1042871-01.zip
Oracle GoldenGate 23.4
→Oracle GoldenGate 23.4.0.0.0 for Linux x86-64
→Oracle GoldenGate 23.4.1.24.05 on Linux x86-64 for Oracle
→V1042871-01.zip
1-2.LinuxでのGoldenGate23aiのインストール
インストール方法はホームページにも載っています。
1-1で入手したファイルを任意のディレクトリに配置し、解凍します。
解凍後、runInstallerを実行するとインストールウィザードが起動します。


GoldenGate用のHOMEを指定して「次へ」

サマリー画面が表示されるので問題なければ「インストール」

インストールが完了したら画面を閉じます。
インストール作業自体はこれで完了です。

1-3.LinuxでのGoldenGate23aiのデプロイメント設定
ここからはインストールしたGoldenGateのデプロイメントの設定を行います。
oggcaを用いて実施します。手順はホームページにも記載されています。
<$OGG_HOME>/bin/./oggca.sh
oggcaを実行し、最初にServiceManagerの設定を実施します。
1-3-1.サービス・マネージャ(新規サービス・マネージャ)
| 項目 | 設定内容 |
|---|---|
| ソフトウェア・ホーム | <OGG_HOME> |
| デプロイメント・ホーム | ServceManagerのホームディレクトリ |
| ホスト名IPアドレス | 自サーバIPアドレス |
| ポート番号 | 任意の値(サービス・マネージャがサービス・コールをリスニングするポート番号) |
・デプロイメント・ホームの「カスタマイズ」で
証跡ファイル等のディレクトリを詳細に設定可能
・ポート番号のデフォルトは「9000」
・その他に任意でStatsDやセキュリティの有効化について設定可能

ディレクトリのカスタマイズ設定

1-3-2.サービス・マネージャ管理者
1-3-3.ユーザー・デプロイメント
| 項目 | 設定内容 |
|---|---|
| デプロイメント名 | 任意 |
| デプロイメント・ホーム | デプロイメント・ホームディレクトリ |
| ポート番号 | 各サービス毎のポート番号、任意の値 |
| TNS_ADMIN | 実行ユーザーに基づいたNetwork環境変数 |
| レプリケーション・スキーマ | GoldenGate管理ユーザー |
・デプロイメント・ホームの「カスタマイズ」で
証跡ファイル等のディレクトリを詳細に設定可能
・ポート番号のデフォルトは「900x」
・レシーバ・サービスに設定するポート番号が、
ターゲット側GoldenGateのDatapumpに設定するポート番号(MGRPORT)
・その他に任意でStatsDやセキュリティの有効化について設定可能

ディレクトリのカスタマイズ設定

1-3-4.ユーザー・デプロイメント管理者
1-3-5.環境構築の実行
・サマリー画面が表示されるので「次へ」を押下し、環境構築を実行


サービス・マネージャをシステム・デーモン(※)として登録する場合は
途中で「OK」ボタンの押下やrootユーザーでのログインおよびスクリプトの実行を
求められるのでナビゲーションに従ってオペレーションを進めます。
※システム・デーモン:GoldenGateのインスタンス管理を担当し、
リソースの監視、セキュリティ設定の管理、サービスの制御を行うこんぽーn
1-4.LinuxでのGoldenGate23aiの環境構築(事前準備)
GoldenGateの環境構築前の事前準備を行います。
1-4-1.GoldenGateの有効化
(SQLPlusで)
show parameter goldengate; --設定値の確認
alter system set enable_goldengate_replication=true; --有効化
show parameter goldengate; --設定値の確認
「enable_goldengate_replication」
→trueを設定することでOracle GoldenGateが使用するRDBMSサービスを有効化
1-4-2.GoldenGate管理ユーザーの作成および権限付与
GoldenGate管理ユーザーの作成および権限付与を実施します。
以下は一例です。
(SQLPlusで)
create user c##ggadmin identified by <パスワード>;
grant dba to c##ggadmin container=all;
exec dbms_goldengate_auth.grant_admin_privilege('c##ggadmin',container=>'ALL');
1-5.LinuxでのGoldenGate23aiの環境構築
GoldenGateの環境構築を行います。
MicroServicesArchitectureではGUIベースで環境構築が可能です。
ClassicArchitectureで実装されていたCUIベースの環境構築も可能です。
(実行方法に若干の違いがあります。後述します。)
1-5-1.サービス・マネージャーへのログイン
サービス・マネージャーに接続し、ログインします。
URL:http://<自サーバのIPアドレス>:<サービス・マネージャーのポート番号>
IPアドレスとポート番号は1-3-1で設定した値になります。
ログインIDとパスワードは1-3-2で設定した値になります。

※サービス・マネージャーのポート番号を1-3-3で設定した
管理サービスのポート番号に変更すると直接管理サービスへのログインが可能です。
1-5-2.管理サービスへのログイン
1-5-1でサービス・マネージャーへログイン後、
デプロイメントを選択し、管理サービスへログインします。
1-5-3.管理サービスでのDB接続設定
1-5-2で管理サービスを選択、または1-5-1で直接管理サービスへログインした場合、
管理サービスの画面が表示されます。

左側のメニューで「DB接続」を押下後、
画面真ん中に表示される「DB接続」の「+」を押下

接続先DBの情報を入力し、「発行」を押下
※CDB、PDBともに設定する場合はそれぞれ入力する。

| 項目 | 設定内容 |
|---|---|
| 資格照明ドメイン | OracleGoldenGate(デフォルト) |
| 資格証明別名 | 接続するDBの別名 |
| ユーザーID | ユーザーID@接続識別子 |
| パスワード | 任意の値 |
ユーザーIDはtnsnames.oraに記載の接続識別子の値でも問題ありません。
むしろこちらの方が一般的だと思われます。
今回、接続記述子の直書きを試したところ、
こちらでも問題なく接続が出来ましたので、その内容で記載をしています。
DBが追加されたらアクションの一番左の「→」を押下し、DBと接続

チェックポイント表の設定
左側メニューより設定対象のDBの「チェックポイント」
画面真ん中のチェックポイントの「+」を押下

チェックポイント表の入力を行い、「発行」を押下


ハートビートの設定
左側メニューより設定対象のDBの「ハートビート」を押下
画面真ん中のハートビートの「+」を押下

任意の値を設定し「発行」を押下し、ハートビートの設定が完了
※画像の値はすべてデフォルト値


1-5-4.Replicatの作成
左側のメニューで「Replicat」を押下後、
画面真ん中に表示される「Replicat」の「+」を押下
設定①
Replicatのタイプ選択
用途に応じてReplicatのタイプを選択する
任意のプロセス名を入力する
| 項目 | 設定内容 |
|---|---|
| 名前 | トレイルファイル名で使用する文字列 |
| サブディレクトリ | トレイルファイルを配置するディレクトリ |
| 暗号化プロファイル | LocalWallet(デフォルト) |
| 項目 | 設定内容 |
|---|---|
| ドメイン | OracleGoldenGate(デフォルト) |
| 別名 | 接続するDBの別名 |
| チェックポイント表 | 1-5-3で設定したチェックポイント表名 |
| 開始 | 開始タイミングに応じて設定 |
設定④
パラメータ・ファイルの設定
用途に応じたパラメータを設定
MAP→ソース側のコピー元DB
TARGET→ターゲット側のコピー先DB
作成および実行をすると管理サービス画面上にReplicatが追加される。
1-5-5.その他(参考)
・CUIベースでの環境構築
従来のClassicArchitectureで行っていたCUIベース(GGSCI)の環境構築について、
MicroServicesArchitectureでも同様に実施可能です。(adminclient)
ただしインターフェースに入るまでの手順が従来と異なりますので以下に記載します。
実行コマンド:
<$OGG_HOME>/bin/./adminclient
CONNECT :<サービスマネージャのポート番号>)> DEPLOYMENT <デプロイメント名> AS PASSWORD <>パスワード
上記コマンドで接続完了後は従来のGGSCIで使用していたコマンドが使用可能です。
・GLOVALSのパラメータ確認
左側メニューの「パラメータ・ファイル」からGLOVALSの確認が可能

パラメータの編集も可能

・トレイルファイルの情報を確認
Replicat追加後、左側メニュー「Replicat」の「トレイル」で
Trailファイルの情報が参照可能
ターゲット側のGoldengateの環境構築はここまでとなります。











