Mysql
 sql >> Base de données >  >> RDS >> Mysql

Migrer d'Oracle vers MySQL

Oracle ne fournit pas d'utilitaire de déchargement prêt à l'emploi.

Gardez à l'esprit que sans informations complètes sur votre environnement (version Oracle ? Plate-forme serveur ? Combien de données ? Quels types de données ?), tout ici est YMMV et vous voudriez l'essayer sur votre système pour les performances et la synchronisation.

Mes points 1 à 3 ne sont que des idées génériques de déplacement de données. Le point 4 est une méthode qui réduira les temps d'arrêt ou les interruptions à quelques minutes ou secondes.

1) Des utilitaires tiers sont disponibles. J'en ai utilisé quelques-uns, mais il vaut mieux que vous les vérifiiez vous-même pour l'usage auquel vous le destinez. Quelques produits tiers sont répertoriés ici :OraFaq . Malheureusement, beaucoup d'entre eux fonctionnent sous Windows, ce qui ralentirait le processus de déchargement des données, sauf si votre serveur de base de données était sous Windows et que vous pouviez exécuter l'utilitaire de chargement directement sur le serveur.

2) Si vous n'avez pas de types de données complexes comme les LOB, vous pouvez lancer le vôtre avec SQLPLUS. Si vous avez fait une table à la fois, vous pouvez facilement la paralléliser. Le sujet a probablement été visité plus d'une fois sur ce site, en voici un exemple :Linky

3) Si vous êtes 10g+, les tables externes peuvent être un moyen performant d'accomplir cette tâche. Si vous créez des tables externes vierges avec la même structure que vos tables actuelles et que vous y copiez les données, les données seront converties au format de table externe (un fichier texte). Encore une fois, OraFAQ au sauvetage .

4) Si vous devez maintenir des systèmes en parallèle pendant des jours/semaines/mois, utilisez un outil de capture/application de données modifiées pour un temps d'arrêt quasi nul. Soyez prêt à payer $$$. J'ai utilisé l'outil de Golden Gate Software qui peut extraire les journaux redo Oracle et fournir des instructions d'insertion/mise à jour à une base de données MySQL. Vous pouvez migrer la majeure partie des données sans temps d'arrêt la semaine précédant la mise en service. Ensuite, pendant votre période de mise en service, fermez la base de données source, demandez à Golden Gate de rattraper les dernières transactions restantes, puis ouvrez l'accès à votre nouvelle base de données cible. Je l'ai utilisé pour les mises à niveau et la période de rattrapage n'a duré que quelques minutes. Nous avions déjà des licences de site pour Golden Gate, donc ce n'était rien de notre poche.

Et je jouerai le rôle de Cranky DBA ici et je dirai que si vous ne pouvez pas faire fonctionner Oracle correctement, j'aimerais voir une description de la façon dont MySQL a résolu vos problèmes particuliers. Si vous avez une application où vous ne pouvez pas toucher au SQL, il existe encore de nombreuses façons de régler Oracle. /boîte à savon