【问题标题】:data copy from oracle to postgres using hibernate使用休眠将数据从oracle复制到postgres
【发布时间】:2018-09-02 06:31:18
【问题描述】:

我是 hiberante JPA 的新手。我正在研究 oracle 到 postgres 的迁移,我们没有使用 aws dms 服务进行数据迁移。我们希望继续使用 Java 来复制超过 100 万条记录的表。我有以下情况的问题。

表 A - 甲骨文 表 B - PostGres

我正在使用 ScrollableResults 从 Oracle 中提取记录。一旦我从 Oracle 获得数据,我需要在 postgres 数据库中循环一个值以获取来自 Oracle 的数据,然后再执行插入到 postgres 数据库中。

我认为首先@ColumnTransformer 会有所帮助,但它没有帮助,因为我不知道如何在 ColumnTransformer 表达式上引用 oracle 中的数据。

所以最后继续编写带有值和子查询的普通插入查询以进行查找。还将 hibernate.jdbc.batch_size 设置为 100。

我以这种方式执行程序,10k 记录需要 5 分钟,我觉得这很慢。

对于这个问题有没有其他解决方案来提高性能。

感谢大家的帮助

【问题讨论】:

  • 如果您只需要将数据从Oracle移动到Postgres,您可以使用foreign data wrapper
  • 谢谢。但是我们使用的是 aws aurora rds db,并且对数据库的控制非常少,因为它是由亚马逊维护的。此外,我们的组织不允许在没有 TLS/SSL 加密的情况下从 postgres 连接到 oracle,因为数据对于本地的 oracle db 非常敏感。而且我们的 DBA 不鼓励从 postgres db 连接到 oracle db。

标签: oracle postgresql hibernate


【解决方案1】:

我找到了解决方案。我通过将 postgres 查找表存储在列表对象中然后在执行插入之前在查找表列表对象中执行搜索来解决它。现在速度不错。

【讨论】:

    猜你喜欢
    • 2011-11-09
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多