我想将Informix中的整个数据库传输到Oracle。我们有一个适用于两个数据库的应用程序,我们的一个客户正在从Informix迁移到Oracle,并且需要将整个数据库传输到Oracle(结构是相同的)。
我们经常需要在oracle / Mssql / Informix之间传输数据,有时只有一个表而不是整个数据库。
有人知道做这种工作的任何好节目吗?
答案 0 :(得分:4)
Pentaho Data Integration ETL工具可用作跨数据库迁移和许多其他用例的开源(也称为“Kettle”)。
从他们的数据表中:
常见用例
- 内置支持缓慢变化的数据仓库人口 尺寸,垃圾尺寸
- 将数据库导出到文本文件或其他数据库
- 将数据导入数据库,范围从文本文件到Excel 表
- 数据库应用程序之间的数据迁移
- ...
输入/输出数据格式列表可在此问题的接受答案中找到:Does anybody know the list of Pentaho Data Integration (Kettle) connectors list? 它支持所有带有JDBC驱动程序的数据库,这意味着大多数数据库。
答案 1 :(得分:1)
检查我的这个问题,它包含一些非常好的想法:Searching for (freeware) database migration tool
答案 2 :(得分:1)
您可以试试Oracle Migration Workbench。请参阅http://download.oracle.com/docs/html/B15858_01/toc.htm如果您想定期将Informix数据读入Oracle,使用异构服务可能是更好的选择。检查hs4odbc或dg4odbc,具体取决于您的Oracle版本。
我希望这有帮助, 罗纳德。
答案 3 :(得分:1)
我过去做过这件事,这不是一项微不足道的任务。我们最终将每个表写出到一个管道分隔的平面文件,并使用Oracle SQL Loader将每个表重新加载到Oracle中。有大量的Perl脚本来清理源数据和shell脚本,以尽可能地自动化进程并同时运行。
可以出现的问题: 1.选择尽可能唯一的分隔符。 2.尝试尽可能找到尽可能接近Informix的数据类型。即日期与时间戳 3.在转出平面文件之前,尽量让数据尽可能干净。 4. HS很可能太慢..
这是几年前完成的。您可能想要调查可能有助于该过程的Golden Gate(现在由Oracle拥有)软件(GG在我执行时不存在)
另一个想法是使用ETL工具读取Informix并将数据转储到Oracle中(想到Informatica)
祝你好运:)答案 4 :(得分:1)
sqlldr - Oracle的导入实用程序
以下是我将50TB数据从MySQL传输到ORacle所做的工作。从MySql生成的csv文件,并在oracle中使用sqlldr实用程序将文件中的所有数据导出到oracle db。这是导入数据的最快方法。我研究了几个星期并做了很多基准测试用例,sqlldr是最好的导入oracle的最快方式。