在不同的 DBMS 之间传输数据

发布于 2024-10-19 23:31:38 字数 207 浏览 7 评论 0原文

我想将 Informix 中的整个数据库转移到 Oracle。我们有一个适用于这两个数据库的应用程序,我们的一个客户正在从 Informix 迁移到 Oracle,并且需要将整个数据库转移到 Oracle(结构相同)。

我们经常需要在oracle/Mssql/Informix之间传输数据,有时只需要一张表而不是整个数据库。

有人知道有什么好的程序可以完成这种工作吗?

I would like to transfer the whole Database i have in Informix to Oracle. We have an an application which works on both Databases, one of our customers is moving from Informix to Oracle, and needs to transfer the whole Database to Oracle (the structure is the same).

We need often to transfer data between oracle/Mssql/Informix sometimes only one table and not the whole Database.

Does anybody know about any good program which does this kind of job?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

℉絮湮 2024-10-26 23:31:38

Pentaho 数据集成 ETL 工具可作为开源工具(也称为“Kettle”)用于跨数据库迁移和许多其他用例。

从他们的数据表来看:

常见用例

  • 具有缓慢变化的内置支持的数据仓库数量
    维度,垃圾维度
  • 将数据库导出到文本文件或其他数据库
  • 将数据导入数据库(从文本文件到 Excel)
    床单
  • 数据库应用程序之间的数据迁移
  • ...

在此问题的接受答案中找到输入/输出数据格式的列表:有人知道 Pentaho 数据集成(Kettle)连接器列表吗?
它支持所有带有 JDBC 驱动程序的数据库,这意味着大多数数据库。

The Pentaho Data Integration ETL tools are available as open source (also known under the former name "Kettle") for cross-database migration and many other use cases.

From their data sheet:

Common Use Cases

  • Data warehouse population with built-in support for slowly changing
    dimensions, junk dimensions
  • Export of database(s) to text-file(s) or other databases
  • Import of data into databases, ranging from text-files to excel
    sheets
  • Data migration between database applications
  • ...

A list of input / output data formats can be found in the accepted answer of this question: Does anybody know the list of Pentaho Data Integration (Kettle) connectors list?
It supports all databases with a JDBC driver, which means most of them.

会发光的星星闪亮亮i 2024-10-26 23:31:38

检查我的这个问题,它包含一些非常好的想法: 搜索(免费软件)数据库迁移工具

Check this question of mine, it includes some very good ideas: Searching for (freeware) database migration tool

寒江雪… 2024-10-26 23:31:38

您可以尝试一下 Oracle 迁移工作台。请参阅 http://download.oracle.com/docs/html/B15858_01/toc。 htm 如果您想定期将 Informix 数据读入 Oracle,那么使用异构服务可能是更好的选择。检查 hs4odbc 或 dg4odbc,具体取决于您拥有的 Oracle 版本。

我希望这有帮助,
罗纳德.

you could give the Oracle Migration Workbench a try. See http://download.oracle.com/docs/html/B15858_01/toc.htm If you want to read Informix data into Oracle on a regular basis, using the Heterogeneous Services might be a better option. Check for hs4odbc or dg4odbc, depending on the Oracle release you have.

I hope this helps,
Ronald.

℡寂寞咖啡 2024-10-26 23:31:38

我过去曾这样做过,这不是一项微不足道的任务。我们最终将每个表写入管道分隔的平面文件,并使用 Oracle SQL Loader 将每个表重新加载到 Oracle 中。有大量的 Perl 脚本来清理源数据和 shell 脚本来尽可能地自动化该过程并并行运行。

可能出现的问题:
1. 选择尽可能唯一的分隔符。
2. 尝试查找与 Informix 数据类型尽可能匹配的数据类型。即日期与时间戳
3. 在转储平面文件之前尝试使数据尽可能干净。
4. HS 很可能会太慢。

这是几年前完成的。您可能想研究 Golden Gate(现在属于 Oracle)软件,它可能会帮助完成此过程(当我这样做时 GG 还不存在)

另一个想法是使用 ETL 工具读取 Informix 并将数据转储到 Oracle(Informatica 来介意)

祝你好运:)

I have done this in the past and it is not a trivial task. We ended up writing out each table out to a pipe delimited flat file and reloading each table into Oracle with Oracle SQL Loader. There was a ton of Perl scripts to scrub the source data and shell scripts to automate the process as much as possible and run things in parallel as well.

Gotchas that can come up:
1. Pick a delimiter that is as unique as possible.
2. Try to find data types that match as close as possible to the Informix ones as possible. ie date vs. timestamp
3. Try to get the data as clean as possible prior to dumping out the flat files.
4. HS will most likely be too slow..

This was done years ago. You may want to investigate Golden Gate (now owned by Oracle) software which may help with the process(GG did not exist when I did it)

Another idea is use an ETL tool to read Informix and dump the data into Oracle (Informatica comes to mind)

Good luck :)

静谧幽蓝 2024-10-26 23:31:38

sqlldr - Oracle 的导入实用程序

以下是我将 50TB 数据从 MySQL 传输到 ORacle 的方法。从MySql生成csv文件,并使用oracle中的sqlldr实用程序将文件中的所有数据导出到oracle db。这是导入数据最快的方法。我对此进行了几周的研究,并完成了很多基准测试用例,sqlldr 无疑是导入到 Oracle 的最佳、最快的方法。

sqlldr - Oracle's import utility

Here's what I did to transfer 50TB of data from MySQL to ORacle. Generated csv files from MySql and used sqlldr utility in oracle to export all the data from the files to oracle db. It is the fastest way to import data. I researched on this for a few weeks and done lot of benchmark test cases and sqlldr is hands down best and fastest way to import into oracle.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文