Ich habe eine Reihe von Oracle-Datenbanken, die auf die Daten der anderen zugreifen müssen. Die effizienteste Art, dies zu tun, ist die Verwendung von Datenbankverknüpfungen - wenn ich ein paar Datenbankverknüpfungen einrichte, kann ich mit einem Minimum an Aufwand Daten von A nach B bringen. Das Problem für mich ist, dass man am Ende ein eng gekoppeltes Design hat, und wenn eine Datenbank ausfällt, können die gekoppelten Datenbanken mitgerissen werden (oder vielleicht ein Teil einer Anwendung auf diesen Datenbanken).
Welche alternativen Ansätze haben Sie für die gemeinsame Nutzung von Daten zwischen Oracle-Datenbanken ausprobiert?
Update nach ein paar Antworten...
Ich dachte nicht so sehr an eine Replikation, sondern eher an den Zugriff auf "Stammdaten". Wenn ich zum Beispiel eine zentrale Datenbank mit Währungsumrechnungskursen habe und einen Kurs in eine separate Datenbank (Anwendung) ziehen möchte. Für solch einen kleinen Datensatz würde der Vorschlag von igor-db mit materialisierten Ansichten über DB-Links wunderbar funktionieren. Wenn Sie jedoch dynamisch Stichproben aus einem sehr großen Datensatz ziehen, wird die Option der lokalen Zwischenspeicherung immer schwieriger. Für welche Optionen würden Sie sich unter diesen Umständen entscheiden? Ich habe über einen XML-Dienst nachgedacht, aber tuinstoel (in einem Kommentar zur Antwort von le dorfier) hat zu Recht den damit verbundenen Overhead in Frage gestellt.
Zusammenfassung der Antworten...
Im Großen und Ganzen denke ich, dass igor-db am nächsten dran ist, weshalb ich diese Antwort akzeptiert habe, aber ich dachte, ich füge noch etwas hinzu, um einige der anderen Antworten hervorzuheben.
Für meine Zwecke, bei denen ich nur die Datenreplikation betrachte, sieht es so aus, als ob die Oracle BASIC-Replikation (im Gegensatz zur ADVANCED-Replikation) die richtige für mich ist. Die Verwendung von materialisierten Ansichtsprotokollen auf der Master-Site und materialisierten Ansichten auf der Snapshot-Site scheint eine hervorragende Lösung zu sein.
Wo dies nicht möglich ist, z. B. wenn das Datenvolumen eine vollständige Tabellenreplikation unmöglich macht, scheint eine Messaging-Lösung die geeignetste Oracle-Lösung zu sein. Oracle Advanced Queueing scheint der schnellste und einfachste Weg zu sein, eine Messaging-Lösung einzurichten.
Der am wenigsten zu bevorzugende Ansatz scheint die Entwicklung eigener XML-Webdienste zu sein, allerdings nur dann, wenn die relative Einfachheit von Advanced Queueing nicht in Frage kommt.