为 MongoDB 添加提取
添加提取 (26ai)
开始之前,请确保:
- 复查特定于此源连接类型的详细信息。
- 配置 MongoDB 复制集:
- OCI GoldenGate for Big Data 使用操作日志 (oplog) 读取更改数据捕获 (CDC) 记录。oplog 是 MongoDB 中的一个上限集合,用于维护修改数据库的所有操作的滚动记录。Oplog 文件是在 MongoDB 中启用副本集时创建的。
- MongoDB Atlas 预先配置了复制集。对于内部部署 MongoDB 部署,必须手动配置和部署 Replicat 集以启用 oplog 和 CDC 功能。对于内部部署 MongoDB,您需要部署副本集。
- 具有 MongoDB 版本 3.6 或更高版本。
- 提供 OCI GoldenGate 支持来捕获以下操作:
INSERT、UPDATE、DELETE。
要为 MongoDB 添加提取,请执行以下操作:
添加提取 (21 c )
了解如何为 OCI GoldenGate 中的 MongoDB 源添加提取流程
要为 MongoDB 添加提取:
返回“Administration Service Overview(管理服务概览)”页面。单击“提取”名称可查看提取的详细信息和报告。
将 MongoDB Extract 中的 Trail file 与 BINARY_JSON_FORMAT 一起使用时,Replicats 失败
当 Replicat 使用 Extract 参数文件中包含 BINARY_JSON_FORMAT 的 MongoDB Extract 生成的 Trail file 时,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 格式表示。