【问题标题】:Oracle -> Postgresql Log-Based replicationOracle -> Postgresql 基于日志的复制
【发布时间】:2017-02-10 09:57:19
【问题描述】:

(为了说明清楚,我不自己编码)

我正在寻找一种允许在主数据库、Oracle 11g 数据库和新的 PostgreSQL 数据库之间复制数据的解决方案。这些是 2 个不同的应用程序,但需要实时交换数据。有一些基于触发器的方法,但有一个很大的问题是这会影响主数据库的效率——这是我们做不到的。 我也遇到过一些基于日志的解决方案,比如 HVR,但是对于复制 500MB 的数据来说成本太高了。 也许你们中的任何人都遇到过类似的问题并找到了解决方法?

任何提示和帮助都将非常感谢,因为我的时间很短

【问题讨论】:

  • 您可以在 Postgres 中创建一个外部数据包装器,用于读取和写入 Oracle 中的表
  • 其实这似乎是一种有趣的方式。
  • 如果您的应用程序使用 JDBC/Java,另一个选项是 ha-jdbc.org
  • 我认为不是 JDBC/Java,但还是谢谢
  • 我已经与我的开发人员讨论了 FDW 方式,但他们说这对于已连接表的视图来说效率非常低:/

标签: oracle postgresql database-replication


【解决方案1】:

Oracle 归档日志的格式与 Postgres 预写日志的格式不同。尽管 Oracle 流、SQL 日志传送、Postgres 流复制等概念大体相似,但事务日志 重做日志 xlogs 并且您不能使用一个提供者日志在另一个提供者引擎上滚动。

此外,由于二进制格式的不同,您不能将日志滚动到同一数据库提供程序的不同版本上。

您可以使用Postgres Logical DecodingOracle GoldenGateHeterogeneous Database ReplicationAWS DMS 获得类似的逻辑复制。但是以上都没有为您提供不同数据库供应商之间的“基于日志的复制”

【讨论】:

  • 我想我还应该补充一点,复制必须从 Oracle 到 Postgres,而不是相反。
【解决方案2】:

您可以使用专门从事基于变更数据捕获的数据集成的产品。 Striim、GoldenGate、Attunity 允许你从 Oracle 做 CDC。 Striim 还允许您从 PostgreSQL 执行 CDC 并写入 Oracle。

https://striim.com

https://attunity.com

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2010-11-03
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 2022-12-16
    相关资源
    最近更新 更多