我正在寻找一种将数据从PostgreSQL数据库导出到Oracle数据仓库的工具。我真的在寻找异构数据库复制工具,而不是export-> convert->导入解决方案。
Continuent Tungsten Replicator看起来它可以完成这项工作,但PostgreSQL支持将在未来几个月内完成。
是否有任何开源工具可以做到这一点?还是我坚持使用某种预定的pg_dump / SQL * Loader解决方案?
答案 0 :(得分:2)
听起来SymmetricDS适用于您的方案。 SymmetricDS是基于Web的,与数据库无关的数据同步/复制软件。它使用Web和数据库技术近乎实时地在关系数据库之间复制表。
答案 1 :(得分:1)
您可以创建从Oracle到Postgres的数据库链接(这称为异构连接)。这样就可以在Oracle中使用select语句从Postgres中选择数据。您可以使用实体化视图来计划和存储这些选择的结果。
答案 2 :(得分:0)
听起来你想要一个ETL(提取变换加载)工具。有一些开源选项Enhydra Octopus和Talend Open Studio是我遇到过的一对。 通常,ETL工具比直接复制选项提供更好的灵活性。 有些提供调度,数据质量和数据沿袭。
答案 3 :(得分:0)
如果您希望实时跨异构数据库复制数据更改,请考虑使用Confluent Kafka Connect JDBC接收器和源连接器。 源连接器可以选择由提供的查询返回的整个数据库,特定表或行,并将数据作为Kafka消息发送到Kafka代理。源连接器可以根据递增的id列,时间戳列计算差异,或者以批量模式运行,其中定期重新复制整个内容。接收器可以读取这些消息,可选择根据avro或json模式检查它们,并使用结果填充源数据库。它都是免费的,许多关系数据库和非关系数据库都有几个接收器和源连接器。
*一个主要警告 - 某些JDBC Kafka连接器无法捕获硬删除
要解决这个限制,您可以使用Debezium(http://www.debezium.io)等专有连接器,另请参阅 Delete events from JDBC Kafka Connect Source