连接到 MongoDB
了解如何创建与 MongoDB 的连接,以用作 OCI GoldenGate 的源或目标。
开始之前
确保:
-
配置所需的策略以启用安全 Vault 和密钥访问,例如使用密钥、使用 Vault 和读取密钥包。有关详细信息,请参阅建议的最低策略。
-
配置 MongoDB 复制集:
-
OCI GoldenGate for Big Data 使用操作日志 (oplog) 读取更改数据捕获 (CDC) 记录。oplog 是 MongoDB 中的一个上限集合,用于维护修改数据库的所有操作的滚动记录。Oplog 文件是在 MongoDB 中启用副本集时创建的。
-
MongoDB Atlas 预配置了 Replicat 集。对于内部部署 MongoDB 部署,必须手动配置和部署 Replicat 集以启用 oplog 和 CDC 功能。对于本地 MongoDB,您需要部署副本集。
-
-
MongoDB 版本 3.6 或更高版本。
-
获取 OCI GoldenGate 支持来捕获以下操作:
INSERT、UPDATE、DELETE。
创建连接
要创建 MongoDB 连接,请执行以下操作:
-
从 OCI GoldenGate 概览页面中,选择连接。
您还可以在“入门”部分下选择创建连接,然后跳至步骤 3。
-
在“连接”页上,选择创建连接。
-
在“Create Connection(创建连接)”页面上,按如下方式填写字段:
-
对于名称,输入连接的名称。
-
(可选)对于说明,输入有助于将此连接与其他连接区分开来的说明。
-
(仅限 GoldenGate on Multicloud )选择您的订阅,然后填写以下字段。
-
从区间下拉列表中,选择资源锚点所在的区间。
-
选择多云合作伙伴区域。
-
选择您的合作伙伴可用性区域。可用选项根据所选的多云合作伙伴区域进行填充。
-
-
对于区间,选择要在其中创建连接的区间。
-
对于类型,选择 MongoDB 。
-
对于连接字符串,输入不带用户名和口令的有效 MongoDB 连接字符串 URI 。例如,
mongodb://mongodb1.example.com:27017。 -
对于 Username(用户名),输入此数据库的用户名称。
-
选择 Password secret 。如果位于其他区间中,则使用下拉列表更改区间。
注:
-
密钥是用于 OCI 服务的身份证明,例如密码、证书、SSH 密钥或验证令牌。要创建密钥,请参见 Creating a secret 。确保:
-
选择手动生成密钥。
-
将凭证粘贴到秘密内容中。
-
-
如果您不希望使用密码密钥,请确保在此表单底部的高级选项下的“安全”部分中取消选择在 Vault 中使用密钥。
-
当需要更新密钥内容时,请确保:
-
使用纯文本模板创建新密钥版本并提供更新的内容。有关更多信息,请参见 Updating a Secret's Content 。
-
刷新连接以清除缓存的密钥内容。
-
-
-
对于安全协议,选择安全协议:
-
普通:用户名和口令验证。
-
TLS :使用用户名和密码的 TLS。
-
MTLS :使用用户名和密码的 MTLS。
-
-
展开 Show advanced options 。您可以配置以下选项:
-
安全
-
取消选择您不希望为此连接使用密码密钥的使用 Vault 密钥。如果未选择:
-
选择使用 Oracle 管理的加密密钥可将所有加密密钥管理保留给 Oracle。
-
选择使用客户管理的加密密钥以选择存储在 OCI Vault 中的特定加密密钥来加密连接身份证明。
-
-
-
网络连接
-
共享端点:与分配的部署共享端点。必须允许从部署的入站 IP 进行连接。
-
专用端点:通过 VCN 中已分配子网中的专用端点传输的网络流量。您必须允许从此连接的入站 IP 进行连接。
注:
- 如果专用连接在七天内保持未分配状态,则服务会将其转换为共享连接。
- 详细了解 Oracle GoldenGate 连接。
-
-
安全属性:添加安全属性以使用 Zero Trust Packet Routing (ZPR) 控制对此连接的访问。
-
标记:添加标记来组织资源。
-
-
-
选择创建。
创建连接后,该连接将显示在“Connections(连接)”列表中。确保将连接分配给部署,以将其用作复制中的源或目标。
后续步骤
已知问题
MongoDB、DocumentDB 和 Oracle JSON Collection TLS 安全协议
如果 MongoDB Replicat、DocumentDB Replicat 或 Oracle JSON Collection 连接失败,则报告文件中出现以下错误:
Error: Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
解决方法:将以下属性添加到您的属性文件,使用您的连接 OCID 更新 <connection_ocid> 并保持其余属性不变。
jvm.bootoptions=-Djavax.net.ssl.trustStore=/u02/connections/<connection_ocid>/truststore.pkcs12 -Djavax.net.ssl.trustStorePassword=Welcome123
OCI GoldenGateMongoDB 连接不支持 mongdb+srv 连接字符串。
解决方法:使用 MongoDB 连接字符串。
-
在 MongoDB Atlas 中,选择 Connect 。
-
选择 Drivers 。
-
选择 Java 。
-
对于“版本”,选择 3.4 或更高版本。
-
您可以使用提供的 mongodb 字符串。例如:
mongodb://<user_name>:<db_password>@cluster0-shard-00-00.abc.mongodb.net:27017,cluster0-shard-00-01.abc.mongodb.net:27017,cluster0-shard-00-02.abc.mongodb.net:27017/?ssl=true&replicaSet=atlas-3grqh1-shard-0&authSource=admin&retryWrites=true&w=majority&appName=Cluster0
MongoDB 测试连接问题
将 Test 连接与 MongoDB 连接一起使用时可能会遇到错误。您可以在 OCI GoldenGate 部署控制台中忽略此错误并测试 MongoDB 连接。在部署控制台中,打开管理服务的导航菜单,选择配置。您的 MongoDB 连接应列为身份证明,您可以在其中选择 ** 连接到