MongoDB用のExtractの追加
Extractは、ソース・データ・ソース接続に対して実行され、データを抽出(取得)するプロセスです。MongoDB用のExtractを追加する方法について学習します。
Extractの追加(26ai)
始める前に、次を確認してください。
-
MongoDB Replicatセットを構成します。
-
OCI GoldenGate for Big Dataでは、操作ログ(ポップログ)を使用して、チェンジ・データ・キャプチャ(CDC)レコードを読み取ります。oplogは、データベースを変更するすべての操作のローリング・レコードを保持するMongoDBの制限付きコレクションです。レプリカ・セットがMongoDBで有効になっていると、Oplogファイルが作成されます。
-
MongoDB Atlasには、Replicatセットが事前構成されています。オンプレミスのMongoDBデプロイメントの場合、Replicatセットを手動で構成およびデプロイして、oplogおよびCDC機能を有効にする必要があります。オンプレミスのMongoDBの場合は、レプリカ・セットをデプロイする必要があります。
-
-
MongoDBバージョン3.6以降。
-
INSERT、UPDATE、DELETEの各操作を取得するためのOCI GoldenGateサポートが必要です。
MongoDB用のExtractを追加するには:
-
OCI GoldenGateデプロイメント・コンソール・ナビゲーション・メニューで、「Extract」を選択します。
-
「Extract」ページで、「Extractの追加」を選択します。
-
「Extractの追加」パネルの「Extract情報」ページで、必要に応じて次のフィールドに入力し、「次へ」を選択します。
-
「プロセス名」に8文字以内で入力します。
-
このプロセスと他のプロセスの区別に役立つ「説明」(オプション)を入力します。
-
ドロップダウンから「ソース」を選択します。
-
-
「抽出オプション」ページで、必要に応じて次のフィールドに入力し、「次へ」を選択します。
-
「Extract Trail」の場合:
-
Extractプロセスの「名前」を入力します。
-
サブディレクトリ名を入力して、生成された証跡ファイルのカスタムの場所を設定します。
-
「証跡順序」を入力して、証跡ファイルの開始番号を設定します。
-
「トレイル・サイズ」を入力して、生成されるトレイル・ファイルの最大サイズを設定します。
-
「暗号化プロファイル」を選択します。暗号化プロファイルが作成されていない場合は、デフォルトでローカル・ウォレット・プロファイルが選択されます。
-
「暗号化のアルゴリズム」を選択します。
-
なし
-
AES256
-
AES192
-
AES128
-
-
-
「ソース資格証明」で、次を選択します:
-
ドメイン
-
別名
-
開始する時期と場所
-
-
-
「管理対象オプション」ページで、必要に応じて次のオプション・フィールドに入力し、「次へ」を選択します。
-
プロファイル名
-
デプロイメントのヘルスに不可欠
-
自動開始
-
自動再起動
ノート:プロファイルを追加し、「自動起動」および「自動再起動」オプションを構成すると、ネットワークの中断後にデプロイメントを自動的に再起動できます。詳細は、管理対象プロセスの構成を参照してください。
-
-
「パラメータ・ファイル」ページで、
TABLE source.*;を使用してソース・マッピングを更新します。ノート:これはソース・データベース/コレクションのマッピングです。
TABLE *.*;を指定すると、すべてのデータベース/コレクションからプロセスが抽出されます。 -
「Create and Run」を選択すると、Extractが作成されて起動されます。「作成」を選択した場合は、後で「Extract」ページからExtractを手動で起動できます。
Extractの追加(21c)
-
OCI GoldenGateデプロイメント・コンソールで、管理サービスの「概要」ページが表示されていることを確認し、「Extractの追加」(プラス・アイコン)を選択します。
-
「Extractの追加」ページの「Extractタイプ」で、次のいずれかを選択し、「次」を選択します。
-
初期ロード
-
変更データ取得
-
-
「Extractオプション」ページで、次のようにフィールドに入力します。「次」を選択します。
-
「プロセス名」に、Extractの名前を入力します。
-
「接続別名」で、ドロップダウンから接続別名を選択します。
-
「ソース」で、「ファイル」を選択します。
-
「ファイル名」に、ファイル名に3文字以上入力します。
-
(オプション)「管理対象オプション」で、次を構成できます。
-
プロファイル名
-
自動開始
-
自動再起動
ノート:プロファイルを追加し、「自動起動」および「自動再起動」オプションを構成すると、ネットワークの中断後にデプロイメントを自動的に再起動できます。詳細は、管理対象プロセスの構成を参照してください。
-
-
-
「パラメータ・ファイル」ページで、
TABLE source.*;を使用してソース・マッピングを更新します。ノート:これはソース・データベース/コレクションのマッピングです。
TABLE *.*;を指定すると、すべてのデータベース/コレクションからプロセスが抽出されます。 -
「作成および実行」を選択します。
管理サービスの「概要」ページに戻ります。Extract名を選択して、Extractの詳細およびレポートを表示します。
既知問題
MongoDB ExtractからBINARY_JSON_FORMATで証跡ファイルを使用すると、Replicatが失敗する
ReplicatがMongoDB Extractから生成されたTrailファイルをExtractパラメータ・ファイルでBINARY_JSON_FORMATとともに使用すると、Replicatは次のエラーで失敗します。
ERROR 2023-08-04 17:13:13.000421 [main] - Unable to decode column 0 : Input length = 1
java.nio.charset.MalformedInputException: Input length = 1 at
java.nio.charset.CoderResult.throwException(CoderResult.java:281) ~[?:1.8.0_311]at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816) ~[?:1.8.0_311] at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1106)
[ggdbutil-21.9.0.0.3.001.jar:21.9.0.0.3.001] Exception in thread "main"
oracle.goldengate.util.GGException: Unable to decode column 0 : Input length = 1 at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1203)
回避策: ExtractパラメータからBINARY_JSON_FORMATを削除すると、Replicatは正常に実行され、ドキュメントは拡張JSON形式で表されます。