Oracle Database間のリアルタイムデータ連携において、事実上の標準ツールである「Oracle GoldenGate」。クラウド移行やデータ活用基盤の要として重要性は増すばかりです。
本記事では、Oracle GoldenGate(OGG)の基本概要から、複雑になりがちな「Classic」と「MA(Microservices Architecture)」の違い、そして統合キャプチャ(Integrated)の仕組みを整理します。さらに、最新の 23ai や発表された 26ai の展望についても解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
結論・要約
これから GoldenGate を導入・学習する場合の重要ポイントは以下の3点です。
- アーキテクチャは「MA」が標準:Oracle DB 向け OGG 23ai 以降は Classic アーキテクチャが廃止され、Microservices Architecture (MA) 一択となりました。
- 構成は「統合(Integrated)」が基本:DB内部の LogMiner サーバーを利用する「統合キャプチャ/リプリキャット」が、機能・サポート面で推奨されます。
- 将来性:23ai では AI ベクトルデータのレプリケーションに対応。次期 LTS(Long Term Release)として 26ai も発表されており、長期的な利用が保証されています。
1. Oracle GoldenGate とは?(背景と基礎)
Oracle GoldenGate (OGG) は、異なるデータベース間でデータをリアルタイムに複製(レプリケーション)するソフトウェアです。
仕組みの基本
OGG は、データベースの REDO ログ(トランザクションログ) を読み取り、変更差分だけを抽出して転送します。これを CDC (Change Data Capture) と呼びます。
- 低負荷:Source DB(転送元)への SQL クエリ発行ではなく、ログファイルを直接読むため、本番環境への負荷が極めて低いです。
- 異種間連携:Oracle to Oracle だけでなく、PostgreSQL, MySQL, BigQuery, Kafka など多様なプラットフォームへ連携可能です。
2. 3つの用語の違い(Classic / MA / Integrated)
GoldenGate を学ぶ際に最も混乱しやすいのが、「アーキテクチャ(インストール形態)」 と 「プロセス動作モード(内部処理)」 の混同です。これらを明確に区別します。
A. アーキテクチャ(インストールの種類)
ソフトウェアとしての構造の違いです。19c までは選択可能でしたが、Oracle DB 向けには世代交代が完了しています。
| 特徴 | Classic Architecture | Microservices Architecture (MA) |
|---|---|---|
| 概要 | 従来のモノリシックな構成。 | REST API ベースの現代的な構成。 |
| 管理 | コマンドライン (ggsci) が主体。 | Web UI または REST API、adminclient。 |
| プロセス | Manager プロセスが全てを管理。 | Service Manager が各サービスを管理。 |
| メリット | 枯れた技術で構成が単純。 | 監視・自動化が容易。SSL構成が堅牢。 |
| 現状 | 19c までで終了(Oracle DB向け)。 | 23ai 以降の標準。推奨構成。 |
B. プロセス動作モード(Capture/Replicat の種類)
OGG のプロセスが、Oracle Database とどう対話するかという「動作モード」です。
1. Classic Capture (クラシック・キャプチャ)
- 仕組み: OGG が OS 上の REDO ログファイルへ直接アクセスして読み込む。
- 現状: 非推奨。マルチテナント (CDB/PDB) 環境や一部のデータ型に対応していないため、現在はほとんど使用されません。
2. Integrated Capture (統合キャプチャ)
- 仕組み: DB 内部の LogMiner サーバーを経由して変更データを取得する。
- メリット: 圧縮表、暗号化、PDML など Oracle の高度な機能に完全対応。RAC 構成時のログ統合も DB 側で処理してくれるため信頼性が高い。
- 現状: 現在の標準。基本的にこれを選択します。
まとめ:どの組み合わせを使うべきか?
- 19c 環境: 「Microservices Architecture」 + 「Integrated Capture」が推奨。
- ※既存資産がある場合は Classic Architecture も可ですが、将来的な移行が必要です。
- 23ai 環境: 「Microservices Architecture」 + 「Integrated Capture」一択。
3. 具体的な利用シーン(ユースケース)
なぜ Oracle GoldenGate が選ばれるのか、代表的な4つの利用パターンを紹介します。
① ゼロダウンタイム・マイグレーション(無停止移行)
最も多い利用例です。オンプレミスからクラウド(OCI/AWS/Azure)への移行や、ハードウェア更新時に利用されます。
- 手法: 旧DBと新DBを OGG で同期しておき、同期が追いついたタイミングでアプリの接続先を切り替えます。
- 効果: 数TB〜数百TBのデータ移行であっても、サービス停止時間を「切り替えの数分間」のみに抑えられます。
② リアルタイム分析・参照負荷のオフロード
本番の基幹システム(OLTP)への負荷を避けるため、分析用のデータを別DBへリアルタイム転送します。
- 手法: 本番DBの更新差分のみを、分析用DB(DWHやデータレイク)へ秒単位で反映します。
- 効果: 「夜間バッチでのCSV連携」を廃止し、経営層が「今のデータ」を見て意思決定できるようになります。
③ 異種システム連携・イベント駆動(Event Sourcing)
Oracle Database の変更をトリガーに、他システムを動かすケースです。
- 手法: Oracle の更新データを Kafka や JMS に送信し、それをマイクロサービス側で受け取って処理を開始します。
- 効果: レガシーな Oracle システムを改修することなく、モダンなアプリ基盤とデータを連携させることができます。
④ アクティブ・アクティブ構成(高可用性)
地理的に離れたデータセンター(例:東京と大阪)の両方で書き込み(更新)を行う構成です。
- 手法: 双方向(Bidirectional)レプリケーションを設定します。
- 注意: 同一レコードを同時に更新した場合の「衝突(Conflict)」を解決する設計が必須となり、難易度は高めです。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
4. バージョン別機能とロードマップ (19c / 23ai / 26ai)
Oracle GoldenGate 19c
現在のメインストリームであり、LTS(長期サポート)リリースです。
- 多くの企業の本番環境で稼働中。
- Classic と MA の両方がサポートされている最後のメジャーバージョン(Oracle DB向け)。
Oracle GoldenGate 23ai
2024年にリリースされた最新バージョンです。
- AI 対応: Oracle Database 23ai の Vector データ型 のレプリケーションに対応。RAG(検索拡張生成)基盤へのデータ供給に最適化されています。
- Classic 廃止: Oracle Database 向けの Classic Architecture が提供されなくなりました。
- 使いやすさ向上: Web UI (MA) が洗練され、パイプライン作成が直感的になりました。
Oracle GoldenGate 26ai (Preview/Future)
Oracle CloudWorld 等で発表された次世代バージョンです。
- 次期 LTS (Long Term Support) となる予定。
- Data Mesh 構想をより強化し、分散されたデータ資産をセキュアかつリアルタイムに統合する機能が強化される見込みです。
5. Oracle Data Guard との比較・使い分け
よく比較される Oracle Data Guard との違いは何でしょうか? 最大の違いは 「論理複製か、物理複製か」 です。
| 比較項目 | Oracle GoldenGate (OGG) | Oracle Data Guard (DG) |
|---|---|---|
| 複製の種類 | 論理レプリケーション(SQLレベルでのデータ抽出・適用) | 物理レプリケーション(ブロックレベルでの完全同期) |
| 主な目的 | データ移行、ETL、Active-Active構成、異種DB連携 | 災害対策 (DR)、高可用性 (HA) |
| バージョン・OS | 異なっていても可(例: Linux 19c → Windows 23ai) | 原則として同一が必要(厳密な制約あり) |
| データ構造 | 変換可能 (列のフィルタ、マッピング) | 同一 (Sourceと完全に同じ構造) |
| Active-Active | 可能 (双方向同期) | 不可 (Active Data Guardは参照のみ) |
| ライセンス | 別途製品ライセンスが必要 | EEに含まれる (Active DGは別途Option) |
使い分けの基準
- Data Guard: 同一環境での「災害対策(DR)」が最優先の場合。
- GoldenGate: バージョン跨ぎの「移行」や、必要なデータだけを飛ばす「活用」が目的の場合。
6. 導入手順・実装例 (19c/23ai 共通)
OGG の構築は複雑ですが、ここでは最も重要な 「Source DB(Oracle)の準備」 に絞って解説します。これができていないと OGG は動きません。
前提条件
- DB: Oracle Database 19c または 23ai (CDB構成)
- OS: Oracle Linux 7/8/9
- ユーザー:
c##ggadmin(共通ユーザーとして作成)
手順概要
- DBパラメータ設定(レプリケーション有効化)
- 強制ロギングの有効化
- GoldenGate 管理ユーザーの作成と権限付与
実行例(SQL)
-- 1. SYSユーザーで接続
CONN sys/password@localhost:1521/orclcdb AS SYSDBA
-- 2. GoldenGateレプリケーションの有効化 (再起動不要な場合が多いですが環境による)
ALTER SYSTEM SET enable_goldengate_replication=true SCOPE=BOTH;
-- 3. データベースレベルの強制ロギング有効化
-- (UPDATE時に更新前の値もログに残すため必須)
ALTER DATABASE FORCE LOGGING;
-- 4. 最小サプリメンタル・ロギングの追加
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- 5. GoldenGate管理ユーザー作成 (CDB環境なので c## を付与)
CREATE USER c##ggadmin IDENTIFIED BY "StrongPassword_123" CONTAINER=ALL;
-- 6. 権限付与 (DBMS_GOLDENGATE_AUTH パッケージを使用するのが作法)
-- これにより必要なシステム権限がまとめて付与されます
BEGIN
DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (
grantee_fingerprint => 'c##ggadmin',
privilege_type => 'CAPTURE', -- Source側の場合
grant_select_privileges => TRUE,
do_grants => TRUE
);
END;
/
-- 確認
SELECT username, account_status FROM cdb_users WHERE username = 'C##GGADMIN';
7. トラブルシューティング
よくあるエラーと初期対応です。
代表的なエラー
| エラーコード | エラー内容 | 主な原因と対処 |
|---|---|---|
| ORA-01403 | No data found | データ不整合。SourceでUPDATEしたがTargetに行がない。→ HANDLECOLLISIONS パラメータで一時回避するか、初期ロードをやり直す。 |
| ORA-00001 | Unique constraint violated | 一意制約違反。Targetに既にデータがある状態でINSERTが来た。→ 双方向同期などの場合、衝突検知設定を見直す。 |
| OGG-01296 | Error mapping… | 列定義の差異。SourceとTargetでテーブル定義が異なる。→ 定義ファイル (defgen) の再作成または ASSUMETARGETDEFS の確認。 |
確認コマンド (MAの場合)
MA 環境では adminclient を使用します。
# プロセス状態の確認
adminclient> info all
# 詳細レポートの確認 (エラー原因の特定)
adminclient> view report EXTRACT_NAME
8. 運用・セキュリティ上の注意
メリットと落とし穴
- メリット: 停止時間ほぼゼロでの移行が可能。
- 落とし穴 (アーカイブログ枯渇): OGG が停止している間に大量のトランザクションが発生すると、OGG が読み込むべきアーカイブログが削除されてしまうことがあります。RMAN の削除ポリシー設定に注意が必要です。
セキュリティ (Wallet)
本番環境では、DB パスワードをパラメータファイルに平文で書くことは厳禁です。Oracle Wallet (Credential Store) を使用してエイリアス管理を行ってください。
# エイリアスの作成例 (MA環境)
adminclient> ADD CREDENTIALSTORE
adminclient> ALTER CREDENTIALSTORE ADD USER c##ggadmin ALIAS ggadmin_alias DOMAIN OracleGoldenGate
9. FAQ(よくある質問)
Q1. Classic から MA への移行は必須ですか?
A. Oracle Database 23ai 以降へアップグレードする場合は必須です。19c 同士であれば Classic もサポートされますが、運用管理機能が豊富な MA への移行が強く推奨されます。
Q2. Standard Edition (SE2) でも使えますか?
A. はい、使えます。ただし、Oracle Database 側のライセンスとは別に、GoldenGate のライセンス(CPU Core 課金)が必要です。
Q3. OGG はどこにインストールすべきですか?
A. 基本的には DB サーバーとは別の「OGG 専用サーバー(Hub 構成)」にインストールすることが推奨されます。これにより、DB サーバーのリソース負荷を分離でき、OS アップグレードの影響も切り離せます。
10. まとめ
Oracle GoldenGate の最新動向は以下の通りです。
- Classic Architecture は終焉へ。今後は Microservices Architecture (MA) を学習・導入する。
- 利用シーンは「移行」だけでなく「リアルタイム分析」「ハイブリッド連携」へと広がっている。
- 23ai/26ai で AI・ベクトル検索や Data Mesh への統合がさらに進む。
レガシーな ggsci コマンドだけでなく、REST API や Web UI での操作に慣れておくことが、これからの Oracle エンジニアには必須となります。
[参考]
Oracle GoldenGate 23ai – スタート・ガイド
注記: 本記事は Oracle Database 19c/23ai を対象に解説します(他バージョンは画面や既定値が異なる場合があります)。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?




コメント