为 MongoDB 添加提取

提取是重新运行源数据源连接并提取或捕获数据的流程。学习为 MongoDB 添加提取。

添加提取 (23ai)

要为 MongoDB 添加提取,请执行以下操作:
  1. OCI GoldenGate 部署控制台的“管理服务”主页上,单击添加提取
  2. 在“添加提取”面板的提取信息页上,根据需要填写以下字段,然后单击下一步
    • 输入进程名称,长度不超过 8 个字符。
    • 输入说明(可选)以帮助您区分此流程与其他流程。
    • 从下拉列表中选择
  3. 提取选项页上,根据需要填写以下字段,然后单击下一步
    1. 对于提取线索
      1. 输入“提取”流程的名称
      2. 输入子目录名称以设置生成的线索文件的定制位置。
      3. 输入线索序号以设置线索文件的起始编号。
      4. 输入线索大小以设置生成的线索文件的最大大小。
      5. 选择 Encryption Profile(加密配置文件)。如果未创建加密配置文件,则默认情况下会选择本地 Wallet 配置文件。
      6. 选择加密算法
        • NONE
        • AES256
        • AES192
        • AES128
    2. 对于源身份证明,请选择:
      1. 别名
      2. 何时/何地开始
  4. 托管选项页上,根据需要填写以下可选字段,然后单击下一步
    • 概要文件名
    • 对于部署的健康状况至关重要
    • 自动启动
    • 自动重新启动

    注意:

    通过添加配置文件和配置 "Auto Start" 和 "Auto Restart" 选项,您的部署可以在网络中断后自动重新启动。请参阅“配置托管流程”以了解详细信息。

  5. 在“参数文件”页上,使用 TABLE source.*; 更新源映射

    注意:

    这是源数据库/集合映射。TABLE *.*; 将导致从所有数据库/集合中提取流程。
  6. 单击创建并运行以创建并启动提取。如果单击创建,则稍后可以从“提取”页面手动启动提取。

添加提取 (21 c )

了解如何为 OCI GoldenGate 中的 MongoDB 源添加提取流程

要为 MongoDB 添加提取:
  1. OCI GoldenGate 部署控制台中,确保您位于“管理服务概览”页上,然后单击添加提取(加号图标)。
  2. 在“添加提取”页上,对于“提取”类型,选择以下选项之一,然后单击下一步
    • 初始加载
    • 更改数据捕获
  3. 在“提取选项”页上,按如下方式填写字段,然后单击下一步
    1. 对于 Process Name(流程名称),输入提取的名称。
    2. 对于连接别名,请从下拉列表中选择连接别名。
    3. 对于,选择文件
    4. 对于文件名,请至少为文件名输入三个字符。
    5. (可选)在“Managed Options(托管选项)”下,可以配置以下各项:
      • 概要文件名
      • 自动启动
      • 自动重新启动

      注意:

      通过添加配置文件和配置 "Auto Start" 和 "Auto Restart" 选项,您的部署可以在网络中断后自动重新启动。有关详细信息,请参阅配置托管进程
  4. 在“参数文件”页上,使用 TABLE source.*; 更新源映射

    注意:

    这是源数据库/集合映射。TABLE *.*; 将导致从所有数据库/集合中提取流程。
  5. 单击创建并运行
返回“Administration Service Overview(管理服务概览)”页面。单击“提取”名称可查看提取的详细信息和报告。

已知问题

将 MongoDB Extract 中的 Trail 文件与 BINARY_JSON_FORMAT 一起使用时,复制失败

当 Replicat 使用从 Extract 参数文件中包含 BINARY_JSON_FORMAT 的 MongoDB Extract 生成的 Trail 文件时,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)

解决方法:从提取参数中删除 BINARY_JSON_FORMAT 时,复制将成功运行,文档将以扩展 JSON 格式表示。