dorti Geschrieben 11. August 2004 Teilen Geschrieben 11. August 2004 Hallo zusammen! Hat jemand von Euch schon mal Oracle 9i - Datenbanken repliziert? Es soll ungefähr so funktionieren: Ein Notebook mit einer Datenbank soll die replizierten Daten erhalten. Während das Notebook nicht ans Netzwerk angeschlossen ist, trägt der Notebookbesizter Daten in die replizierte Datenbank ein. Auch in der Originaldatenbank werden Daten eingetragen. Einmal täglich oder so werden dann beide Datenbanken auf den gleichen Stand gebracht. Ich hatte mir das so vorgestellt, dass die Original-DB die Mastersite ist und die Notebook-DB die Materialized-View-Site. Ist das so richtig? Oder sind beide Datenbanken Mastersites? Wie funktioniert es nun, dass beide Seiten auf den neusten Stand gebracht werden? Und was passiert beim Refresh, wenn z.B. in beiden Datenbanken in der gleichen Tabelle eine neue Zeile eingefügt wurde, die ja dann die gleiche ID hat? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 12. August 2004 Teilen Geschrieben 12. August 2004 Hast du irgendwo gefunden, das ein solches Vorgehen von Oracle unterstützt wird? Ich kann mir kaum vorstellen das die Datenbank ein solche Features bereitstellt, da es einfach entscheidungen geben kann die die DB kaum selber treffen kann (siehe dein Problem mit den IDs). Den Begriff Replizieren gibt es zwar offiziell bei Oracle, aber ich glaube da ist eher an sowas wie standby Datenbank gedacht. D.h. das die zweite Datenbank nur für lesendezugriffe zur Verfügung steht.... Wir haben bei uns jedoch auch zwei solche Applikationen implementiert. Da haben wir das mit unseren eigenen Mitteln gemacht. Z.B. so, das ein neuer Datensatz auf einem Laptop der unterwegs ist eine neu generierte ID bekommt. Und beim zusammenführen (Abgleich) der Daten werden die Daten einfach in die Master-DB geschrieben ohne IDs, d.h. die IDs werden hier neu generiert. Also wird simuliert, das der User die Daten erst jetzt eingibt. In der anderen Applikation haben wir es so gemacht, das nur bestimmte Daten verändert werden konnten. D.h. es wird ein Stammdatensatz im Master angelegt und dann auf das Notebook über tragen und dann ein Flag auf dem Master für diesen Datensatz gesetzt, damit kein anderer Ändern kann. Nun kann beliebig auf dem Notebook modifizeirt werden und und irgendwann wird wieder abgeglichen und eingecheckt.... Solltest du aber Mittel finden wo Oracle das alles für mich macht währe ich an einer solchen Lösung sehr interessiert.... Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dorti Geschrieben 12. August 2004 Autor Teilen Geschrieben 12. August 2004 Also, es funktioniert bei mir soweit, dass man in beide Richtungen Datenabgleiche machen kannst. Der Server ist die Master-DB, das Notebook die Materialized-View-DB und von der Notebook-DB steuert man den Datenabgleich. Allerdings gibts einen Fehler bei Updates am gleichen Datensatz sowie bei Inserts (wie es zu erwarten war). Deletes hab ich gar nicht erst ausprobiert. Aber ich hab gelesen, dass es Fehlerbehandlungen dafür gibt bei Oracle 9i, ich konnte sie nur noch nicht richtig aktivieren. Werde demnächst daran weitermachen und sagen, obs (hoffentlich!) klappt ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.