将数据从 Oracle 数据库 11G 传输到 MongoDB
Posted
技术标签:
【中文标题】将数据从 Oracle 数据库 11G 传输到 MongoDB【英文标题】:Transfer Data from Oracle database 11G to MongoDB 【发布时间】:2018-12-27 17:00:28 【问题描述】:我想要从 Oracle 数据库到 MongoDB 的自动定时传输。在典型的 RDBMBS 场景中,我会通过创建 dblink 在两个数据库之间建立连接,并使用 PL/SQL 过程传输数据。 但我不知道在 MongoDB 案例中该怎么做;因此,我应该如何以及如何实现,以便我可以从 Oracle 数据库自动传输到 MongoDB。
【问题讨论】:
【参考方案1】:我会考虑使用 Oracle Goldengate。它有一个 MONGODB 处理程序。 https://docs.oracle.com/goldengate/bd123110/gg-bd/GADBD/using-mongodb-handler.htm#GADBD-GUID-084CCCD6-8D13-43C0-A6C4-4D2AC8B8FA86
https://oracledb101.wordpress.com/2016/07/29/using-goldengate-to-replicate-to-mongodb/
【讨论】:
【参考方案2】:您希望将什么类型的数据从 Oracle 数据库传输到 MongoDB?如果您只想按设定的时间表导出/导入少量表,您可以在 Oracle 端使用 UTL_FILE 之类的东西来创建表的 .csv 导出并使用 DBMS_SCHEDULER 来安排导出将根据您所需的时间范围自动发生。
您还可以使用SQL Developer
之类的应用程序将表导出为 .csv 文件,方法是浏览表的架构列表,然后右键单击 -> 导出并选择 .csv 格式。您可能还会发现通过 SQL Developer 使用 UTL_FILE
和 DBMS_SCHEDULER
比依赖 SQL*Plus
更容易一些。
拥有 .csv 文件后,您可以使用 mongoimport 导入数据,但我不确定 MongoDB
是否支持像 Oracle
这样的计划作业(我主要使用后者。 ) 如果您使用的是Linux
,您可以使用cron
来安排一个脚本,该脚本将在预定的时间间隔内导入 .csv 文件。
【讨论】:
以上是关于将数据从 Oracle 数据库 11G 传输到 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
使用 ssis 从 SQL Server 表复制到 Oracle 11g
将数据库从 oracle 11g 迁移到 MySql 5.7 的优点、缺点和问题是啥?
如何从 Oracle 11g XE 导出“数据库”并将其导入 Oracle 10.2?