我想将架构从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)
);
答案 0 :(得分:2)
我没有听说过一个可以帮助你所要求的工具。这并不意味着一个不存在,但是,使用现有的Oracle脚本并手动创建适当的MySQL脚本可能更容易且更不容易出错。在我参与过的每个项目中,DBA负责这种类型的数据迁移,他们总是手动完成。
编辑:
据说我做了一个快速的谷歌搜索,有一些程序声称这样做(需要付费)。例如:
我显然会提醒您不要使用第三方工具,并确保在开始之前备份所有内容。
答案 1 :(得分:1)
mysql gui工具包包含一个迁移工具。 http://dev.mysql.com/downloads/gui-tools/5.0.html
您需要在运行工具包的计算机上安装适用于Oracle的jdbc驱动程序。