前回のあらすじ

みなさん、こんにちは。
Oracle Cloud Infrastructure 検証チームです。
Oracle GoldenGate Free 23c を使って、OCI 上のOracle Database 23c Free 間でデータ連携を試してみよう。(1/2)はご覧頂きましたでしょうか?

前回はソース・データベース用の接続とターゲット・データベース用の接続を作成しました。
今回はパイプラインの作成とデータ同期確認を実施します。

  1. 接続の作成 (前回)
  2. パイプラインの作成
  3. パイプラインの停止と開始
  4. データ同期確認

前回に続き、執筆者はOCI関連資格4冠を達成しました!に登場した事業部員です。
それでは説明と準備が整いましたので検証していきましょう。

パイプラインの作成

パイプラインの作成

GoldenGate Free ホームページで[パイプラインの作成(Create pipeline)]をクリックします。

[レシピの選択(Select recipe)]ページで[片方向のデータベースレプリケーション(One-way Database Replication)]を選択します。[次(Next)]をクリックします。

[概要(Overview)]ページで[名前(Name)]に任意のパイプライン名を入力します。[次(Next)]をクリックします。[接続(Connections)]ページで[ソース・データベース(Source database)]に作成済みの[ソース・データベース用の接続]をドロップダウンから選択し、[ターゲット・データベース(Target database)]に作成済みの[ターゲット・データベース用の接続]をドロップダウンから選択します。[保存して構成(Save & configure)]をクリックします。

パイプラインの構成

パイプラインが作成されると[構成(Configuration)]タブ画面が表示されます。[マッピング(Mapping)]タブで[レプリケートするソース・データベース・スキーマおよび表]と[レプリケートされるターゲット・データベース・スキーマおよび表]を確認して選択します。[保存(Save)]をクリックします。

初期化の開始

パイプラインが構成されると[概要(Overview)]タブ画面が表示されます。[開始(Start)]をクリックします。

[初期化(Initialization)]タブで各ステップのステータスと進行状況を確認できます。各ステップの[Status(ステータス)]が全て[完了(COMPLETED)]になることを確認します。

パイプラインの実行状況の確認

[初期化(Initialization)]完了後、[実行中(Runtime)]タブで自動作成されたレプリケーション・プロセス(Extract と Replicat)の実行状況を確認できます。[Status(ステータス)]が[稼働中(RUNNING)]であることを確認します。

[パイプライン(Pipelines)]の一覧ページで作成したパイプラインが正常に作成され稼働中であることを確認します。[Status(ステータス)]が[稼働中(RUNNING)]であることを確認します。

パイプラインの停止と開始

パイプラインの停止

GoldenGate Free ホームページで作成したパイプラインをクリックします。[概要(Overview)]ページが表示されます。パイプラインが正常に[稼働中(RUNNING)]であることを確認します。[停止(Stop)]をクリックします。

[OK]をクリックします。

パイプラインが正常に停止されたことを確認します。[Status(ステータス)]が[停止済み(STOPPED)]であることを確認します。

パイプラインの開始

[開始(Start)]をクリックします。

パイプラインが正常に開始されたことを確認します。[Status(ステータス)]が[稼働中(RUNNING)]であることを確認します。

データ同期確認

ソース・データベースにデータ登録

ソース・データベースのユーザー「testuser」のテーブル「tab1」に、id=1とid=2とid=3のデータを登録します。

$ sqlplus testuser@sourcedb
Enter password:

Connected to:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release Version
23.2.0.0.0

SQL> insert into testuser.tab1 values (1, 'aaa');

1 row created.

SQL> insert into testuser.tab1 values (2, 'bbb');

1 row created.

SQL> insert into testuser.tab1 values (3, 'ccc');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from testuser.tab1 order by 1;

ID         NAME
---------- ----------
1          aaa
2          bbb
3          ccc

ターゲット・データベースのデータ確認

ターゲット・データベースのユーザー「testuser」のテーブル「tab1」に、id=1とid=2とid=3のデータが反映されており、データが同期されていることが確認できます。

$ sqlplus testuser@targetdb
Enter password:

Connected to:
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0
SQL> select * from testuser.tab1 order by 1;

ID         NAME
---------- ----------
1          aaa
2          bbb
3          ccc

さいごに

Oracle GoldenGate Free 23c を使って、OCI のOracle Database 23c Free 間でデータを連携する検証をしてみましたが、いかがでしたでしょうか?

GoldenGate 23c は本日時点ではまだFree 版のみのリリースですが、今後近いうちにOCI 版もリリースされると思います。
OCI GoldenGate 23c がリリースされたらぜひ検証したいと思います。

以下、Oracle GoldenGate Free 23c 公式リリースノートです。
GoldenGate 23c では多くの新機能とエンハンスメントが含まれているようです。

Oracle® Database Release Notes for Oracle GoldenGate 23c (23.3)
F70300-01
September 2023

https://docs.oracle.com/en/middleware/goldengate/core/23/release-notes/index.html#Oracle%C2%AE-Database
2 新機能
3 エンハンスメント

 

現在もOCI GoldenGateは時代のニーズに応えながら機能拡張等日々進化を続けており、次はどういう新機能がリリースされるのだろうと待つのもOCI GoldenGateの魅力でもあり楽しみでもあります。

その他、Oracle Cloudに関する技術解説記事はこちらからご覧下さいね。

Oracle Cloudに関するお問い合わせはこちらからお願いします!

投稿者プロフィール

技術チーム
技術チーム
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早6年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!