Discussion:
Oracle: Views über mehrere Datenbanken/Instanzen
(zu alt für eine Antwort)
Christoph
2006-03-13 18:13:46 UTC
Permalink
Hallo Liste!

Wir haben hier in der Firma das Problem, dass wir auf eine andere
Datenbank lesend zugreifen können, dort aber nicht schreiben dürfen.
Die Daten müssen von uns weiter verarbeitet werden und damit wir die
bereits bearbeiteten Daten nicht jedesmal komplett neu holen würden
wir gerne sowas wie

select * from TABELLE ANDERE DB where X not in (select X from TABELLE
UNSERE DB)

Ist sowas möglich? Entweder per View oder per PL/SQL oder, oder.
oder...?

Vielen Dank im Vorraus.

Gruß,
Christoph
Frank Seitz
2006-03-13 18:42:14 UTC
Permalink
Post by Christoph
Wir haben hier in der Firma das Problem, dass wir auf eine andere
Datenbank lesend zugreifen können, dort aber nicht schreiben dürfen.
Die Daten müssen von uns weiter verarbeitet werden und damit wir die
bereits bearbeiteten Daten nicht jedesmal komplett neu holen würden
wir gerne sowas wie
select * from TABELLE ANDERE DB where X not in (select X from TABELLE
UNSERE DB)
Ist sowas möglich? Entweder per View oder per PL/SQL oder, oder.
oder...?
Sowas ist recht einfach mit einem Database Link realisierbar.
Schaue unter diesem Stichwort mal in Oracle Doku.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Dirk Stein
2006-03-13 18:44:36 UTC
Permalink
Post by Christoph
Hallo Liste!
Wir haben hier in der Firma das Problem, dass wir auf eine andere
Datenbank lesend zugreifen können, dort aber nicht schreiben dürfen.
Die Daten müssen von uns weiter verarbeitet werden und damit wir die
bereits bearbeiteten Daten nicht jedesmal komplett neu holen würden
wir gerne sowas wie
select * from TABELLE ANDERE DB where X not in (select X from TABELLE
UNSERE DB)
Ist sowas möglich? Entweder per View oder per PL/SQL oder, oder.
oder...?
Vielen Dank im Vorraus.
War da nicht was mit Oracle Datenbanklink

Erstellen:
CREATE DATABASE LINK dblink_name
CONNECT TO user_name IDENTIFIED BY password
USING connection_string

ansprechen der Tables dann mit:
... ***@dblink_name ...

ist "connection_string" die SID der anderen Oracle-Instance?


mfg Dstein
Christoph
2006-03-14 13:35:08 UTC
Permalink
Post by Dirk Stein
War da nicht was mit Oracle Datenbanklink
CREATE DATABASE LINK dblink_name
CONNECT TO user_name IDENTIFIED BY password
USING connection_string
ist "connection_string" die SID der anderen Oracle-Instance?
mfg Dstein
Ich danke euch beiden Dirk und Frank!

Nun müssen wir nur noch gucken ob das von der Geschwindigkeit her auch
ok ist, da die beiden Tabellen, die verglichen werden müssen, mehrere
Hundertausend Datensätze enthalten können und die Instanzen auch auf
physikalisch unterschiedlichen Maschinen laufen könnten.

Nun schau' ich mir erstmal die Materialized Views an, die Uwe
angesprochen hat. Allein 7 Seiten reine Syntax in der Oracle10g Doku
*seufz*

Uwe Weber
2006-03-14 00:24:35 UTC
Permalink
Post by Christoph
Wir haben hier in der Firma das Problem, dass wir auf eine andere
Datenbank lesend zugreifen können, dort aber nicht schreiben dürfen.
Die Daten müssen von uns weiter verarbeitet werden und damit wir die
bereits bearbeiteten Daten nicht jedesmal komplett neu holen würden
wir gerne sowas wie
Das schreit gerade zu nach einer Materialzed View über einen Link.
Wenn Eure Daten die Anforderungen an 'fast refreshable' erfüllen, würde
Oracle ganz brav und automatisch immer nur die Änderungen der Quelldb
in die Zieldb übertragen.

Einzelheiten findest Du im 'Advanced Replication' Buch der Doku.

Gruss,
uwe
Loading...