Automatisieren Sie die Synchronisierung von Oracle-Tabellen mit MySQL-Tabellen [geschlossen]

StackOverflow https://stackoverflow.com/questions/20811

  •  09-06-2019
  •  | 
  •  

Frage

Die Universität, an der ich arbeite, nutzt Oracle als Datenbanksystem.Wir haben derzeit Programme, die wir nachts ausführen, um das, was wir brauchen, für unsere Testanforderungen in einige lokale Access-Tabellen herunterzuladen.Dafür wird der Zugang jetzt zu klein und wir brauchen etwas Größeres.Außerdem erfordern die nächtlichen Jobs eine ständige Wartung, um weiter zu funktionieren (aufgrund von Netzwerkproblemen, Tabellenänderungen, fehlerhaftem Code :)), und ich würde sie gerne eliminieren, um uns für wichtigere Dinge frei zu machen.

Da ich mit MySQL am besten vertraut bin, habe ich einen Test-MySQL-Server eingerichtet.Was ist der beste Weg, das Kopieren der benötigten Tabellen von Oracle nach MySQL zu automatisieren?

Bearbeiten:Ich habe die Antwort akzeptiert.Die Antwort gefällt mir nicht, aber sie scheint aufgrund weiterer Recherchen und des Mangels an anderen Antworten richtig zu sein.Vielen Dank an alle, die über meine Frage nachgedacht und sie beantwortet haben.

War es hilfreich?

Lösung

Ich glaube nicht, dass es wirklich irgendetwas gibt, das dies bewirken kann.Wenn Sie eine lokale Oracle-Datenbank einrichten könnten, könnten Sie dies höchstwahrscheinlich tun, da Oracle über verschiedene Möglichkeiten verfügt, zwei Datenbanken „synchron zu halten“, sofern es sich bei beiden um Oracle handelt.

Wenn Sie MySQL verwenden müssen, müssen Sie wahrscheinlich nur etwas schreiben, um die Daten zu synchronisieren. Dies führt natürlich immer zu den gleichen Problemen, die Sie derzeit mit dem Zugriff auf „Datenbank“ haben.

Sie könnten etwas mit HSODBC und Triggern einrichten, aber

  1. Ich habe festgestellt, dass HSODBC sehr speicherhungrig ist
  2. Dadurch wird Ihre Datenbank nur noch mehr belastet, da sie Ihrer Meinung nach tagsüber bereits stark ausgelastet ist.

Wenn Sie hauptsächlich eine lokale Testkopie Ihrer Oracle-Datenbank benötigen, richten Sie am besten die Synchronisierung mit einer lokalen Version von Oracle ein. Soweit ich den Lizenzen entnehmen kann, ist Oracle für Entwicklungskopien kostenlos ( I Ich habe einige gegenteilige Beiträge gesehen, aber wenn Sie feststellen, dass dies der Fall ist, können Sie immer etwas wie Oracle XE verwenden)

Andere Tipps

Könnten Sie einfach die Oracle-Tabellen kopieren und sie dann als verknüpfte Tabellen in MS Access einrichten?Auf diese Weise bleibt das Frontend gleich und Sie behalten alles in Oracle (weniger bewegliche Teile als beim Exportieren und Importieren).

Wie Kellyn sagte, gibt es viele kostenlose Tools.Eine davon ist SQLWorkbench http://www.sql-workbench.net/, das mit jeder JDBC-Datenbank funktioniert, daher sollten MySQL und Oracle funktionieren.Es kann bei Bedarf Tabellen in Oracle erstellen oder einfach nur die (aktualisierten) Daten kopieren.

Es stehen viele Tools zum Migrieren von Daten von Oracle nach MySQL zur Verfügung, wenn Ihre Datenbank nicht sehr kompliziert ist.

Sie können Open-Source-Tools wie das Kettle Pentaho ETL-Tool oder kostenpflichtige Unternehmenstools wie DB Convert verwenden: https://dbconvert.com/oracle/mysql/

Schließlich können Sie ein Skript oder Programm schreiben, das die Daten migriert.

Hier finden Sie Links zu Ihrer Frage:

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

Migration von Oracle zu MySQL

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top