我们的 Oracle 数据库遇到了严重的性能问题,我们想尝试将其迁移到基于 MySQL 的数据库(直接使用 MySQL,或者最好是 Infobright)。
问题是,在我们真正知道新数据库的所有功能是否符合我们的需求之前,我们需要让新旧系统至少重叠几周甚至几个月。
所以,这是我们的情况:
Oracle 数据库由多个表组成,每个表都有数百万行。白天,实际上有成千上万的语句,我们不能停止迁移。
每天早上,都会将新数据导入 Oracle 数据库,替换数千行。复制这个过程不是问题,所以理论上我们可以并行导入两个数据库。
但是,挑战就在这里,要使其工作,我们需要从 Oracle 数据库中导出具有从某一天开始的一致状态。(我们不能在星期一导出一些表,在星期二导出一些表,等等。)这意味着,至少导出应该在不到一天的时间内完成。
我们的第一个想法是转储模式,但我找不到将 Oracle 转储文件导入 MySQL 的工具。导出 CSV 文件中的表格可能会奏效,但恐怕需要的时间太长。
所以我现在的问题是:
我应该怎么办?是否有任何工具可以将 Oracle 转储文件导入 MySQL?有没有人经历过如此大规模的迁移?
PS:拜托,不要建议Oracle的性能优化技术,我们已经尝试了很多:-)
编辑:我们之前已经尝试过一些 ETL 工具,但发现它们不够快:仅导出一个表已经花费了 4 个多小时......
第二次编辑:来吧,伙计们......没有人尝试过尽可能快地导出整个数据库并转换数据以便可以将其导入另一个数据库系统吗?