※ 本記事は、Elói Lopesによる”Oracle OCI GoldenGate to Microsoft Fabric Lakehouse Data Replication“を翻訳したものです。
2025年5月30日
はじめに
Oracle Cloud Infrastructure GoldenGate は、リアルタイムかつ大規模にデータを移動できる、フルマネージドかつクラウドネイティブなサービスです。Big Data 向けGoldenGateの基本機能に加えて、自動スケーリング、柔軟でデータ・スループットに基づくライセンス体系、ユーザー体験の向上といった、フルマネージドサービスならではの利点も備えています。
現在、OCI GoldenGate は Fabric Lakehouse をターゲットとしてサポートしています。OCI GoldenGate を使用することで、Fabric Lakehouse への初期ロードや、初期ロードと連携した CDC(変更データキャプチャ)レプリケーションを実行できます。本記事では、初期ロードの設定方法と、それを CDC レプリケーションと同期する方法について説明します。
まだデプロイメントを作成していない場合はデプロイメントの作成ドキュメントを、接続が未作成の場合は接続の作成ドキュメントを参照してください。
本記事ではソースとして Autonomous Data Warehouse(ADW)を使用しますが、GoldenGate がサポートする任意のソースを使用することも可能です(ただし、一部設定が異なる場合があります)。

前提条件
-
Oracle と Distributed Applications and Analytics(DAA)向けのデプロイメントが作成されていること
-
Oracle ADW 用の接続が Oracle デプロイメントに割り当てられていること
Fabric Lakehouse 接続の作成
OCI GoldenGate で Microsoft Fabric Lakehouse 用の接続を作成するには:
- OCI GoldenGate の概要ページからConnectionsをクリックする。
- ConnectionsページでCreate Connectionをクリックする。
- Create Connectionのページで、以下の項目を入力する:
- Name には接続の名前を入力する。
- (任意)Description には他の接続と区別するための説明を入力する。
- Compartment には接続を作成するコンパートメントを選択する。
- Type のドロップダウンから Microsoft Fabric Lakehouse を選択する。
- Azure tenant id にはアプリケーションの Azure テナント ID を入力する。
- Client id にはアプリケーションのクライアント ID を入力する。
- Client secret には認証用のアプリケーションのクライアントシークレットを入力する。
- Create をクリックする。

OCI GoldenGate DAA に接続を割り当てる:

CDC Extract の作成
Extracts パネルで Add Extract(プラスアイコン) をクリックし、Integrated Extract または Initial Load Extract を作成する。
Integrated Extract を選択し、Name を入力して Next をクリックする。

Credential Domain と Alias を選択し、Trail Name を入力する。Next をクリックする。

Parameter Files ページで、GoldenGate がデータを取得する対象のテーブルやスキーマを指定する。Create and Run をクリックする。

Initial Load 用の Extract を作成する前に、Oracle の SCN を取得してください:
— アクティブなトランザクションを取得するクエリ
—
Select T.START_SCN, T.STATUS TSTATUS, T.START_DATE,
S.SID, S.SERIAL#, S.INST_ID, S.USERNAME, S.OSUSER, S.STATUS SSTATUS, S.LOGON_TIME
From gv$transaction T
Inner
Join gv$session S
on S.SADDR = T.SES_ADDR
Union All
—
— 現在のステータスを取得するクエリ
—
Select current_scn, ‘CURRENT’, CURRENT_DATE,
NULL, NULL, NULL, ‘SYS’, NULL, NULL, NULL
from v$database
Order by 1;
Initial Load Extract の作成
Add Extract(プラスアイコン) をクリックし、Initial Load Extract を選択する。Name を入力し、Next をクリックする。

Parameter File では、認証情報、Trail ファイル名、および対象のテーブルを指定してください。
EXTRACT IL
USERIDALIAS <credential> DOMAIN OracleGoldenGate
EXTFILE a2
TABLE SOURCE_USER.SALES; SQLPREDICATE “AS OF SCN <上記のクエリで取得した SCN>”;
Create and Run をクリックする。
レポートファイルを確認し、すべてのレコードがロードされたことを確認する:

Distribution Path の作成
Distribution Path を作成する前に、Distributed Applications and Analytics 用の OCI GoldenGate に認証情報(Credential)を作成する必要があります。
この認証情報には、ターゲット側の OCI GoldenGate for Oracle デプロイメントにある GoldenGate ユーザーを使用します。
Distribution Path 用の新しいユーザーを作成する
OCI GoldenGate(for Oracle)で User Administrator をクリックする。「+」記号をクリックして新しいユーザーを追加する。usernameを指定し、ロールに Operator を設定、Type をPasswordにし、パスワードを入力する:

ソース側の GoldenGate デプロイメントに新しい認証情報を追加する
OCI GoldenGate の Connections に移動し、GoldenGate 用に定義したのと同じユーザー名とパスワードを使用して、新しいConnectionを作成する:

Oracle 用の OCI GoldenGate デプロイメントに接続を割り当てる:

Initial Load 用の Distribution Path を作成する
OCI GoldenGate for Oracle で Distribution Service に移動し、Add Path(「+」アイコン) をクリックする。Path Name を入力する:

Initial Load Extract で使用した EXTFILE 名 を入力する。Source は選択せず、空欄のままにしておく。Next をクリックする:

ターゲットに OCI GoldenGate for DAA のホスト名 を指定し、ポートとして 443 を入力する。Trail Name と、前の手順で作成した認証情報の Alias を入力する。Create Path をクリックし、その後 Distribution Path を開始する:

同じ手順に従って、CDC Extract によって作成されたファイル用の 2 つ目の Distribution Path を作成することもできます。
Initial Load Replicat の作成
OCI GoldenGate の DAA デプロイメントに移動し、新しい Replicat を追加する。Overview を開き、Replicats パネルで Add Replicat(プラスアイコン) をクリックする。Classic Replicat を選択し、Replicat Name を入力する:

Trail Name を指定する。この例では Parquet ファイルを作成するため、Format に Parquet を選択する。ターゲットには Lakehouse Microsoft Fabric を指定する:

Replicat によってソースとターゲットのテーブルをどのようにマッピングするかを指定する。Next をクリックする:

レコードが正常にロードされたかを確認する:

Properties で、ワークスペース名と Lakehouse 名を指定する:
# Replicat REP1 用のプロパティファイル
gg.target=fabric_lakehouse
# TODO: format は ‘parquet’、’orc’、またはプラグイン形式のいずれかを指定可能。デフォルトは ‘parquet’
gg.format=parquet
gg.eventhandler.onelake.connectionId=ocid1.goldengateconnection.oc1.iad.amaaaaaa2t2mwsaan7qo6phrmpoyn5ngpxo7nwj7hjuvb7wjvexqjt6jmqga
gg.eventhandler.onelake.workspace=DSTEST
# TODO: Fabric の lakehouse 名を編集する
gg.eventhandler.onelake.lakehouse=testds
gg.eventhandler.onelake.pathMappingTemplate=${catalogname}.lakehouse/Files/ogg/${groupName}/${schemaname}.schema/${tablename}
gg.classpath=$THIRD_PARTY_DIR/hadoop/*:$THIRD_PARTY_DIR/parquet/*:$THIRD_PARTY_DIR/onelake/*
gg.eventhandler.onelake.pathMappingTemplate を使用することで、実行時に動的にパス名を生成することができます。
CDC Replicat の作成
上記と同じ手順に従って作成するが、Create and Run はクリックせず、Create のみをクリックする。Replicat を開始する前に、「…」をクリックし、Start With Options を選択、オプションを After CSN に変更する:

次に、ソース側でレコードを生成する。この例では、100,000 レコードを生成した。データがターゲットにレプリケートされたことを確認する。
Extract CDC の統計情報:

CDC 用の Replicat を確認し、データが正しくレプリケートされているかをチェックする:

最後に、Fabric Lakehouse を確認し、Parquet ファイルが lakehouse 内に作成されているかをチェックする:

以上のように、GoldenGate を使って Microsoft Fabric Lakehouse へデータをレプリケートする設定は非常に簡単であることが分かりました。さらに詳しい情報については、ドキュメントを参照してください。
