Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Zwei Tabellen in unterschiedlichen DBs synchronisieren (https://www.delphipraxis.net/108034-zwei-tabellen-unterschiedlichen-dbs-synchronisieren.html)

barnti 6. Feb 2008 16:22

Datenbank: Oracle • Version: 9i • Zugriff über: ?

Zwei Tabellen in unterschiedlichen DBs synchronisieren
 
Hallo liebe Gemeinde,

ich habe heute mal eine Frage zum Thema DB. Ich Habe eine Oracle Datenbank, die drei Tabellen beinhaltet. In der Mastertabelle stehen jeweils die Gebrauchsdaten, die einmal täglich mit Hilfe zweier weitere Tabellen aktualisiert werden soll. Die beiden Hilftabellen sollen dazu einmal täglich von einem anderen Oracle-Server aktualisiert/drop, create werden. Sobald die aktuellen Daten vorhanden sind wird erst Hilftabelle A mit der Mastertablle verglichen, anschließend Hilfstabelle B mit dem Master. Alle Zeilen, die in A oder B vorkommen sollen aus der Mastertabelle entfernt werden.

Wie geht man dieses Problem am besten an? Sollte man das in einem täglichen Programmaufruf implementieren? Lässt sich das auf DB-Ebene lösen? Es geht um erhebliche Datenbestände (Master > 1 000 000, Hilftabellen > 50 000)

Hat jemand ein paar Anregungen und möchte seine Gedanken mit mir teilen?


Danke & Gruß

Barntl

Bernhard Geyer 6. Feb 2008 16:25

Re: Zwei Tabellen in unterschiedlichen DBs synchronisieren
 
Zitat:

Zitat von barnti
Lässt sich das auf DB-Ebene lösen?

Ja. Suchbegriff/Schlagwort wäre Replikation. Frage mich aber nicht zu details wie dies bei Oracle genau eingerichtet wird.

peterlepan 6. Feb 2008 16:34

Re: Zwei Tabellen in unterschiedlichen DBs synchronisieren
 
Hi!

Also wie immer gibt es verschiedene Möglichkeiten dies zu lösen.

Wenn das ganze nur einmal am Tag passieren soll, würde ich eine StoredProcedure verwenden, die mit einem Job gestartet wird.
Die Verbindung zum zweiten Oracle-Server bekommst Du per Database Link, dann kann der entfernte Server wie ein lokaler Server abgefragt werden.

Eine andere, performantere Lösung sind Oracle Streams, die ab Oracle 9i auch verfügbar sind.

Die Replikation wäre sicher die aufwendigste Lösung und etwas zu sehr mit 'Kanonen auf Spatzen' geschossen, wenn es nur um die drei Tabellen geht.

Gruß

Peter

barnti 6. Feb 2008 18:05

Re: Zwei Tabellen in unterschiedlichen DBs synchronisieren
 
Hallo,

vielen Dank für eure Antworten. Ich werde mich mal mit Oracle auseinandersetzen. Vielleicht kann ich mit diesen Informationen mal auf einen DB-Admin zusteuern und ihn genaueres fragen.

Ihr habt mir sehr weitergeholfen, vielen Dank!

Gruß,

barntl


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz