新增 MongoDB 的擷取

Extract 是一個處理作業,會再次執行來源資料來源連線和擷取或擷取資料。瞭解如何新增 MongoDB 的 Extract。

新增擷取 (23ai)

若要在 MongoDB 中新增 Extract:
  1. OCI GoldenGate 部署主控台的「管理服務首頁」中,按一下新增擷取
  2. 在「新增擷取」面板的擷取資訊頁面上,視需要完成下列欄位,然後按下一步
    • 輸入長度不超過 8 個字元的程序名稱
    • 輸入描述 (選擇性),以協助您區分此處理與其他處理。
    • 從下拉式清單中選取來源
  3. 擷取選項頁面上,視需要完成下列欄位,然後按下一步
    1. 若為擷取軌跡
      1. 輸入 Extract 處理作業的名稱
      2. 輸入子目錄名稱,為產生的歷程檔設定自訂位置。
      3. 輸入歷程檔順序以設定歷程檔的起始號碼。
      4. 輸入歷程檔大小,以設定所產生歷程檔的大小上限。
      5. 選取一個加密設定檔。如果未建立加密設定檔,預設會選取本機公事包設定檔。
      6. 選取加密演算法
        • NONE
        • AES256
        • AES192
        • AES128
    2. 在「來源證明資料」中,選取:
      1. 網域
      2. 別名
      3. 時間 / 地點開始
  4. 受管理選項頁面上,視需要完成下列選擇性欄位,然後按下一步
    • 設定檔名稱
    • 對於部署狀況具有重大影響
    • 自動啟動
    • 自動重新啟動

    附註:

    新增設定檔並設定「自動啟動」和「自動重新啟動」選項,可讓您的部署在網路中斷後自動重新啟動。請參閱「設定受管理處理作業」以瞭解詳細資訊。

  5. 在「參數檔」頁面上,使用 TABLE source.*; 更新來源對應

    附註:

    這是來源資料庫 / 集合對應。TABLE *.*; 會從所有資料庫 / 集合擷取處理程序。
  6. 按一下建立並執行以建立並開始擷取。如果您按一下建立,稍後就可以從「擷取」頁面手動啟動「擷取」。

新增擷取 (21 c)

瞭解如何為 OCI GoldenGate 中的 MongoDB 來源新增 Extract 處理作業

若要新增 MongoDB 的擷取,請執行下列動作:
  1. OCI GoldenGate 部署主控台中,確定您位於「管理服務總覽」頁面,然後按一下新增擷取 (加號圖示)。
  2. 在「新增擷取」頁面上,針對「擷取」類型選取下列其中一項,然後按下一步
    • 起始載入
    • 變更資料擷取
  3. 在「擷取選項」頁面上,依下列方式完成欄位,然後按下一步
    1. 處理名稱中,輸入 Extract 的名稱。
    2. 若為連線別名,請從下拉式清單中選取連線別名。
    3. 對於來源,請選取檔案
    4. 對於檔案名稱,請至少為檔案名稱輸入三個字元。
    5. (可選) 在「受管理的選項」下,您可以設定下列項目:
      • 設定檔名稱
      • 自動啟動
      • 自動重新啟動

      附註:

      新增設定檔並設定「自動啟動」和「自動重新啟動」選項,可讓您的部署在網路中斷後自動重新啟動。請參閱設定受管理處理作業以瞭解詳細資訊。
  4. 在「參數檔」頁面上,使用 TABLE source.*; 更新來源對應

    附註:

    這是來源資料庫 / 集合對應。TABLE *.*; 會從所有資料庫 / 集合擷取處理程序。
  5. 按一下「建立並執行」。
您會返回「管理服務總覽」頁面。按一下「摘錄」名稱以檢視摘錄的詳細資料與報告。

已知問題

使用 MongoDB Extract 的歷程檔搭配 BINARY_JSON_FORMAT 時複製失敗

Replicat 在 Extract 參數檔中使用從 MongoDB Extract 產生的歷程檔 (在 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 會順利執行,並以 Extended JSON 格式表示文件。