首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从Oracle中的(PL/)SQL复制到另一个DBMS?

问如何将数据从Oracle中的(PL/)SQL复制到另一个DBMS?
EN

Stack Overflow用户
提问于 2012-10-24 08:53:07
回答 2查看 1.3K关注 0票数 0

任务:将数据库中的所有数据(没有模式)复制到另一个数据库(可能是另一种类型)。我无法修改源数据库,因此它是只读备份。

Context:将Oracle与许多DB集成。现在我正在整合甲骨文和Postgres。

Resources:仅连接字符串,能够以最高可用权限连接数据库。(我无法通过ssh访问它-无法通过ssh创建顺序备份和下载文件,也无法编译和启动web/ftp服务器等)

问题:是否有任何经过验证的、快速的方法来获取这些数据?也许有人有一个有干净代码的开源解决方案?

这里出现了"fast“这个词,因为只选择N行(使用rownum或row_number())并传输到目标数据库或中间文件太慢了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 11:25:14

像弹簧批处理这样的轻型ETL工具可能是完成这项任务的完美工具。

数据块的微观管理是它所围绕的内容。

看看jdbc游标示例:您只配置SELECT和INSERT语句,映射和Spring将处理分页。

你可以在github:https://github.com/SpringSource/spring-batch/blob/master/spring-batch-samples/src/main/resources/jobs/iosample/jdbcCursor.xml上找到它

参考资料可在:http://static.springsource.org/spring-batch/reference/html/readersAndWriters.html#database上找到

Spring保存已经处理了多少记录的状态,并允许继续先前崩溃的进程。它可以通过将计数器保存在“jobRepository”中来做到这一点,例如,这个库可以放在第三个数据库中。

当然,这是一个纯java解决方案,一个本地解决方案可能更快,但是如果您只获得JDBC连接字符串,您可能会尝试这样做。这还假设您知道要传输的所有表的表结构。如果不是,简单的JDBC工具(例如SquirrelSQL )可以帮助您。

你好,盖特。

票数 1
EN

Stack Overflow用户

发布于 2012-10-24 11:10:39

我建议你看看液基。我已经成功地使用它在几个环境中保持模式和数据对齐(虽然只有SQLServers,但我确信它也适用于不同的关系数据库系统)。

至于表演,我有点担心,因为你提到“兆字节的数据”.不过,这可能值得一试。

干杯,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13045806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档