2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle GoldenGate 23ai(Microservice Architecture)インストール

Last updated at Posted at 2025-03-26

目的

Oracle GoldenGate 23ai よりClassic Architectureはサポートされなくなり、
Microservice Architecture構成が必須となりました。
インストール手順を確認し、Microservice Architecture構成を理解することが目的です。

全体概要図

8-1_全体概要図.png

カテゴリ バージョン
OS Oracle Linux 9.5
DB Oracle Database 19.25
インスタンス名 orcl(非CDB)

1. Oracle Software Delivery Cloud から GoldenGate 23.4 for Oracle (x86-64) を入手

ファイル名:V1042871-01.zip
https://www.oracle.com/jp/middleware/technologies/goldengate-downloads.html

2. サーバに転送し、解凍

任意のディレクトリにファイルと転送し、解凍


[oracle@ol95db19c ~]$ ls -la |grep V1042871-01.zip
-rw-r--r--.  1 oracle oinstall  517531573  2月  8  2025 V1042871-01.zip

[oracle@ol95db19c ~]$ unzip V1042871-01.zip
(中略)
  inflating: OGGCORE_Release_Notes_23.4.1.24.05.pdf
  inflating: OGG-23ai-README.txt

3. GoldenGateインストーラ(runInstaller)実行

image.png

GGHOME用のディレクトリを作成し選択

/u01/app/oracle/product/goldengate/23ai 

image.png

image.png

image.png

image.png

インストール完了

4. 環境変数の設定

インストールユーザ(oracle)に環境変数を設定

export OGG_HOME=/u01/app/oracle/product/goldengate/23ai/
export TNS_ADMIN=/u01/app/oracle/product/goldengate/23ai/lib/instantclient/network/admin
 ※GoldenGateが利用するtnsnames.oraの格納ディレクトリ。
  Databaseで利用するtnsnames.oraと共有も可($ORACLE_HOME/network/admin)

5. Oracle GoldenGate Configuration Assistant(oggca.sh)実行

5-1. サービス・マネージャ・デプロイメント

項目
ソフトウェア・ホーム /u01/app/oracle/product/goldengate/23ai
ホスト名/IPアドレス 192.168.56.10
ポート 9000
サービス/システム・デーモンとして登録 チェックあり
セキュリティの有効化 チェックなし

image.png

5-2. サービス・マネージャ管理者

GoldenGate管理者(ggadmin)を指定

image.png

5-3. ユーザー・デプロイメント

項目
デプロイメント名 dep01
デプロイメント・ホーム /u01/app/oracle/product/goldengate/dp/dep01
管理サービス 9001
分散サービス 9002
レシーバ・サービス 9003
パフォーマンスメトリック・サービス 9004
TNS_ADMIN /u01/app/oracle/product/goldengate/23ai/lib/instantclient/network/admin
レプリケーション・スキーマ ggadmin

image.png

「環境変数」で環境変数を設定されることを確認
※TNS_ADMINは実行ユーザ(oracle)の環境変数(TNS_ADMIN)設定が反映(設定されていない場合、空白)
image.png

5-4. ユーザー・デプロイメント管理者

サービス・マネージャの管理者資格証明と同じ をチェック
image.png

5-5. サマリー

終了
image.png

5-6. サービス・マネージャのシステム・デーモンとしての登録

image.png

image.png

[root@ol95db19c bin]# pwd
/u01/app/oracle/product/goldengate/dp/dphome/bin
[root@ol95db19c bin]# ls -la
合計 4
drwxr-x---. 2 oracle oinstall   39  1月 28 16:56 .
drwxr-x---. 5 oracle oinstall   39  1月 28 16:56 ..
-rwxr-x---. 1 oracle oinstall 2069  1月 28 16:56 registerServiceManager.sh
[root@ol95db19c bin]# ./registerServiceManager.sh
Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
----------------------------------------------------
     Oracle GoldenGate Install As Service Script
----------------------------------------------------
OGG_HOME=/u01/app/oracle/product/goldengate/23ai
OGG_CONF_HOME=/u01/app/oracle/product/goldengate/dp/dphome/etc/conf
OGG_VAR_HOME=/u01/app/oracle/product/goldengate/dp/dphome/var
OGG_USER=oracle
Running OracleGoldenGateInstall.sh...
Created symlink /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service → /etc/systemd/system/OracleGoldenGate.service.

image.png

6. ソースデータベースサーバ設定

6-1. hostsの設定(rootユーザ)

hostsにソースデータベースサーバおよびターゲットデータベースサーバの設定を記載

hosts
192.168.56.10   ol95db19c.dev   ol95db19c
192.168.56.13   ol95db19c3.dev  ol95db19c3

6-2. tnsnames.oraの設定(oracleユーザ)

TNS_ADMINで設定したディレクトリにtnsnames.oraを作成

[oracle@ol95db19c ~]$ cd /u01/app/oracle/product/goldengate/23ai/lib/instantclient/
[oracle@ol95db19c instantclient]$ ls
fips.so    libclntsh.so.23.1      libnnz.so        libociei.so      libsqlplus.so    libtfojdbc1.so  sqlplus
legacy.so  libclntshcore.so.23.1  libocci.so.23.1  libocijdbc23.so  libsqlplusic.so  pkcs11.so
[oracle@ol95db19c instantclient]$ mkdir -p network/admin
[oracle@ol95db19c instantclient]$ cd /u01/app/oracle/product/goldengate/23ai/lib/instantclient/network/admin
[oracle@ol95db19c admin]$ vi tnsnames.ora
tnsnames.ora
orcl=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol95db19c.dev)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.dev)
    )
  )

orcl3=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol95db19c3.dev)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.dev)
    )
  )

6-3. enable_goldengate_replication の設定

Oracle GoldenGateが使用するRDBMSサービスを有効にするパラメータ
主に、サプリメンタル・ロギングを制御

[oracle@ol95db19c ~]$ sqlplus / as sysdba;

SQL> show parameter goldengate

NAME				                 TYPE			       VALUE
------------------------------------ --------------------- ------------
enable_goldengate_replication	     boolean			    FALSE
resource_manage_goldengate	         boolean			    FALSE

SQL> alter system set enable_goldengate_replication=true;

システムが変更されました。

SQL> show parameter goldengate

NAME				                 TYPE			       VALUE
------------------------------------ ---------------------- -----------------
enable_goldengate_replication	     boolean			    TRUE
resource_manage_goldengate	         boolean			    FALSE

6-4. ログ設定(最小サプリメンタルロギング・強制ロギングモード)

オプション 機能 要否
最小サプリメンタル・ロギング 行連鎖情報をREDOログに追加 必須
強制ロギング・モード ロギングを強制 強く推奨
最小のデータベース・レベルのサプリメンタル・ロギング
SQL> select supplemental_log_data_min from v$database;

SUPPLEMENTAL_LOG_DATA_MI
------------------------
NO

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

データベースが変更されました。

SQL> select supplemental_log_data_min from v$database;

SUPPLEMENTAL_LOG_DATA_MI
------------------------
YES
強制ロギング・モード
SQL> select force_logging from v$database;

FORCE_LOGGING
------------------------------------------------------------------
NO

SQL> ALTER DATABASE FORCE LOGGING;

データベースが変更されました。

SQL> select force_logging from v$database;

FORCE_LOGGING
------------------------------------------------------------------
YES

6-5. GoldenGate管理ユーザ(ggadmin)の作成

ターゲットDBでも同様の手順を実施

SQL> create user ggadmin identified by oracle;

ユーザーが作成されました。

SQL> grant dba to ggadmin;

権限付与が成功しました。

6-6. 転送用スキーマ(u1)および表(t1)の作成

ターゲットDBでも同様の手順を実施

SQL> create user u1 identified by u1;

ユーザーが作成されました。

SQL> grant dba to u1;

権限付与が成功しました。

SQL> conn u1;

パスワードを入力してください: 
接続されました。
SQL> create table t1(c1 number, c2 varchar2(10));

表が作成されました。

7. GoldenGate設定(ソースデータベース)

7-1. ブラウザでソースデータベースの管理サービスに接続

GoldenGate管理ユーザ(ggadmin)でサインイン
image.png

image.png

7-2. DB接続の追加

「DB接続」右の「+」を押下
image.png

項目
資格証明ドメイン OracleGoldenGate
資格証明別名 db0 ※接続先DBの別名を設定
ユーザID ggadmin@orcl ※tnsnames.oraに設定した接続識別子

上記を入力し、発行
image.png

アクション 「→」を押下し接続を確認
image.png

エラーが発生せず、チェックポイント画面に遷移することを確認
image.png

7-3. Trandataの追加

スキーマ単位(または表単位)にサプリメンタルロギングを設定

左ペインから DB接続 - db0(ソースデータベース接続)- trandata を選択
TRANDATA情報 右の「+」を押下

image.png

転送用に作成したスキーマ名(u1)を入力して「発行」
※スケジュール列:表の主キー、すべてのユニークキー、すべての外部キー

image.png

発行したスキーマ名を入力し、検索。表示されることを確認。
image.png

7-4. EXTRACTの追加

Extract:ソース・データベースに接続して、データを抽出(取得)するプロセス

image.png

①情報の抽出
プロセス名:ext01
image.png

②抽出オプション

項目 入力値
ドメイン OracleGoldenGateを選択
別名 DB接続で指定した別名を指定(db0)
Extract証跡 任意の文字列を指定(so)

image.png

④管理対象オプション
image.png

⑤パラメータ・ファイル
Extractグループのパラメータ設定:対象表(u1)を追加

extractパラメータ
EXTRACT ex01
USERIDALIAS db0 DOMAIN OracleGoldenGate
EXTTRAIL so
TABLE u1.*;  ←追加

image.png

image.png

image.png

8. GoldenGate設定(ターゲットデータベース)

8-1. DB接続の作成

DB接続 「+」を押下
image.png

項目
資格証明ドメイン OracleGoldenGate
資格証明別名 db3 ※接続先DBの別名を設定
ユーザID ggadmin@orcl3 ※tnsnames.oraに設定した接続識別子

image.png

作成した接続(db3)右の「→」を押下し接続。
エラーが発生せず、チェックポイントに遷移することを確認
image.png

8-2. チェックポイント表の作成

ターゲットデータベース接続(db3)チェックポイントを選択→「+」を押下して追加
image.png

チェックポイント表名を指定(GGADMIN.CHKPT)
image.png

追加を確認
image.png

8-3. REPLICATの追加

Replicat右の「+」を押下
image.png

①Replicat Information

②Replicat Options

項目 入力値
名前 任意の文字列を指定(so)
ドメイン OracleGoldenGateを選択
別名 DB接続の別名(db3)
チェックポイント表 作成済のチェックポイント表を選択
開始 今すぐ

image.png

③Managed Options
image.png

④パラメータ・ファイル
作成および実行
image.png

作成を確認
image.png

9.データ連携

ソースDBの対象表にデータを挿入しcommit
ターゲットDBの対象表にデータが反映されることを確認

ソースDB
SQL> select * from t1;

レコードが選択されませんでした。
ターゲットDB
SQL> select * from t1;

レコードが選択されませんでした。
ソースDB
SQL> insert into t1 values (1, 'a');

1行が作成されました。

SQL> commit;

コミットが完了しました。

SQL> select * from t1;

        C1 C2
---------- ------------------------------
         1 a
ターゲットDB
SQL> select * from t1;

        C1 C2
---------- ------------------------------
         1 a

参考リンク

エラー対応1:管理サービスに接続できない

ブラウザから管理サービスに接続できない場合、firewallが原因の可能性があります。
必要なポート設定をすることで接続できるようになりました。

このサイトにアクセスできません
192.168.56.10 からの応答時間が長すぎます。

image.png

[root@ol95db19c ~]# firewall-cmd --list-all --zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@ol95db19c ~]# firewall-cmd --add-port=9000-9100/tcp --permanent
success
[root@ol95db19c ~]# firewall-cmd --reload
success
[root@ol95db19c ~]# firewall-cmd --list-all --zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: cockpit dhcpv6-client ssh
  ports: 9000-9100/tcp ★
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

image.png

image.png

エラー対応2:DB接続時にエラー

tnsnames.oraが正しく設定されていない可能性があります。

image.png

エラー対応3:extractが起動しない

作成したextractをデータベースに登録

[oracle@ol95db19c bin]$ pwd
/u01/app/oracle/product/goldengate/23ai/bin
[oracle@ol95db19c bin]$ ./adminclient
Oracle GoldenGate Administration Client for Oracle
Version 23.4.1.24.05 OGGCORE_23.4.0.0.0OGGR_LINUX.X64_240529.0500_FBO

Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved.

Linux, x64, 64bit (optimized) on May 29 2024 09:21:59
オペレーティング・システムの文字セットはUTF-8と識別されました。

OGG (接続されていません) 3> CONNECT http://192.168.56.10:9031 DEPLOYMENT dep03 AS ggadmin PASSWORD oracle

OGG (http://192.168.56.10:9031 dep03) 4>

OGG (http://192.168.56.10:9031 dep03) 4> dblogin useridalias db0
データベースに正常にログインしました。

OGG (http://192.168.56.10:9031 dep03 as db0@ORCL) 5> register extract ext01 database

2025-01-29T08:14:17Z  INFO    OGG-02003  ExtractグループEXT01がSCN 2326113でデータベースに正常に登録されました。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?