我想将架构从 Oracle 迁移到 MySQl,那么是否有任何免费工具可用于此任务?
我在 Oracle SQL 脚本中有“创建表”语句,但它包含唯一约束和外键。 MySQL有MyISAM存储引擎,因此不支持外键。
如何解决这个问题?
Oracle 创建语句示例:
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)
);
最佳答案
我还没有听说过有任何工具可以帮助您满足您的要求。这并不意味着不存在,但是,采用现有的 Oracle 脚本并手动创建适当的 MySQL 脚本可能更容易且不易出错。在我参与过的每个项目中,DBA 都负责这种类型的数据迁移,而且他们总是手动完成。
编辑:
话虽如此,我在谷歌上进行了快速搜索,有一些程序声称可以做到这一点(需要付费)。例如:
我显然会警告不要使用第三方工具,并确保在开始之前备份所有内容。
关于sql - 从 Oracle 迁移到 MySQL 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651331/