Question

L'université dans laquelle je travaille utilise Oracle pour le système de base de données.Nous exécutons actuellement des programmes la nuit pour télécharger ce dont nous avons besoin dans certaines tables Access locales pour nos besoins de tests.L'accès devient trop petit pour cela maintenant et nous avons besoin de quelque chose de plus grand.De plus, les tâches nocturnes nécessitent une maintenance constante pour continuer à fonctionner (en raison de problèmes de réseau, de changements de table, de mauvais code :)) et j'aimerais les éliminer pour nous libérer pour des choses plus importantes.

Je connais mieux MySQL, j'ai donc configuré un serveur MySQL de test.Quelle est la meilleure façon d'automatiser la copie des tables nécessaires d'Oracle vers MySQL ?

Modifier:J'ai accepté la réponse.Je n'aime pas la réponse, mais elle semble correcte sur la base de recherches plus approfondies et du manque d'autres réponses fournies.Merci à tous d'avoir réfléchi à ma question et d'y avoir répondu.

Était-ce utile?

La solution

Je ne pense pas qu'il y ait vraiment quoi que ce soit qui puisse faire cela.Si vous pouviez configurer une base de données Oracle locale, vous le pourriez très probablement, car Oracle dispose de divers moyens pour maintenir deux bases de données "synchronisées", à condition qu'elles soient toutes deux Oracle.

Si vous devez utiliser MySQL, il vous suffira probablement d'écrire quelque chose pour synchroniser les données, cela fonctionnera bien sûr toujours avec les mêmes problèmes que vous rencontrez actuellement avec l'accès à la "base de données".

Vous pouvez configurer quelque chose avec HSODBC et des déclencheurs, mais

  1. J'ai trouvé HSODBC très gourmand en mémoire
  2. Cela ne fera qu'ajouter plus de charge à votre base de données, qui, selon vous, est déjà fortement chargée pendant la journée.

Si la principale chose que vous faites est de vouloir une copie de test locale de votre base de données Oracle, il serait préférable de configurer la synchronisation avec une version locale d'Oracle, autant que je sache d'après les licences, Oracle est gratuit pour les copies de développement (je J'ai vu des messages contraires, mais si vous constatez que c'est le cas, vous pouvez toujours utiliser quelque chose comme Oracle XE)

Autres conseils

Pourriez-vous simplement copier les tables Oracle, puis les configurer en tant que tables liées dans MS Access ?De cette façon, le frontal reste le même et vous conservez tout dans Oracle (moins de pièces mobiles que l'exportation et l'importation).

Comme l'a dit Kellyn, il existe de nombreux outils gratuits.L'un d'eux est SQLWorkbench http://www.sql-workbench.net/, qui fonctionne avec n'importe quelle base de données JDBC, donc MySQL et Oracle devraient fonctionner.Il peut créer des tables dans Oracle si nécessaire, ou simplement copier uniquement les données (mises à jour).

Il existe de nombreux outils disponibles pour migrer les données d'Oracle vers MySQL si votre base de données n'est pas très compliquée.

Vous pouvez utiliser des outils open source comme l'outil ETL Kettle pentaho ou des outils d'entreprise payants comme DB convert : https://dbconvert.com/oracle/mysql/

Enfin, vous pouvez écrire un script ou un programme qui migre les données.

Veuillez trouver des liens liés à votre question :

https://dba.stackexchange.com/questions/150343/how-to-sync-a-mysql-db-with-a-oracle-db

Migrer d'Oracle vers MySQL

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top