2009-10-30 6 views
2

Je souhaite migrer un schéma d'Oracle vers MySQl. Existe-t-il des outils gratuits qui seraient utiles pour cette tâche?Outils pour la migration d'Oracle vers MySQL

J'ai des instructions "Créer une table" dans Oracle SQL Script, mais elle contient des contraintes uniques et une clé étrangère. MySQL a le moteur de stockage MyISAM, et donc la clé étrangère n'est pas supportée.

Comment résoudre ce problème?

Sample Oracle créer des déclarations:

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

Comment puis-je vérifier les contraintes de clé étrangère, les contraintes uniques? – Rachel

Répondre

2

Je ne l'ai pas entendu parler d'un seul outil qui peut aider à ce que vous demandez. Cela ne veut pas dire qu'il n'existe pas, cependant, il est probablement plus facile et moins sujet à l'erreur de prendre vos scripts Oracle existants et de créer manuellement les scripts MySQL appropriés. Sur chaque projet que j'ai été sur les DBA étaient responsables de la migration de données de ce type et ils l'ont toujours fait manuellement.

Edit:

Cela dit, je fait une recherche rapide sur Google et il y a quelques programmes qui prétendent le faire (à un coût). Par exemple:

Oracle to MySQL

Data loader

DBConvert

évidemment je garde contre l'utilisation d'un outil tiers et assurez-vous que vous sauvegardez tout avant de commencer.

+0

Comment puis-je vérifier les contraintes de clé étrangère, les contraintes uniques? – Rachel

+0

c'est pourquoi je recommande de le faire manuellement. Vous pouvez gérer les relations vous-même. Lorsque vous modifiez les scripts, vous pouvez supprimer les contraintes et les fkeys si nécessaire. – northpole

+0

oh ok. Je vois votre point maintenant. – Rachel