用于从Oracle迁移到MySQL的工具

时间:2009-10-30 17:48:47

标签: sql mysql oracle migration

我想将架构从Oracle迁移到MySQl,那么是否有任何免费工具可用于此任务?

我在Oracle SQL Script中有“创建表”语句,但它包含唯一约束和外键。 MySQL有MyISAM存储引擎,因此不支持外键。

如何解决这个问题?

示例Oracle create语句:

   CREATE TABLE channels 
(
  obt_id            NUMBER(19) PRIMARY KEY,
  discriminator     VARCHAR2(64) NOT NULL
                    CONSTRAINT check_channel_discriminator CHECK (discriminator IN ('CHANNEL','SALES_CHANNEL')),
  chan_id           VARCHAR2(255),
  description       VARCHAR2(255),
  name              VARCHAR2(255) NOT NULL,
  obt_version       VARCHAR2(255),
  fk2_channel       NUMBER(19)
                    CONSTRAINT fk_channel_channel REFERENCES channels(obt_id)
);

CREATE TABLE object_types 
(
  obt_id                    NUMBER(19) PRIMARY KEY,
  enum_value                VARCHAR2(64) NOT NULL,
  external_name             VARCHAR2(64) NOT NULL,
  description               VARCHAR2(255),
  business_validation       NUMBER(1) DEFAULT 0,
  start_date_time           DATE DEFAULT to_date('01011900','DDMMYYYY'),
  end_date_time             DATE DEFAULT to_date('01014712','DDMMYYYY'),
  mut_date_time             DATE DEFAULT SYSDATE,
  mut_user                  VARCHAR2(32) DEFAULT USER,
  CONSTRAINT                object_types UNIQUE (external_name,start_date_time,end_date_time)
);

2 个答案:

答案 0 :(得分:2)

我没有听说过一个可以帮助你所要求的工具。这并不意味着一个不存在,但是,使用现有的Oracle脚本并手动创建适当的MySQL脚本可能更容易且更不容易出错。在我参与过的每个项目中,DBA负责这种类型的数据迁移,他们总是手动完成。

编辑:

据说我做了一个快速的谷歌搜索,有一些程序声称这样做(需要付费)。例如:

Oracle to MySQL

Data loader

DBConvert

我显然会提醒您不要使用第三方工具,并确保在开始之前备份所有内容。

答案 1 :(得分:1)

mysql gui工具包包含一个迁移工具。 http://dev.mysql.com/downloads/gui-tools/5.0.html

您需要在运行工具包的计算机上安装适用于Oracle的jdbc驱动程序。