Zwei Datenbanken verlinken

Quote

Wer kennt das nicht? Man hat zwei Oracle-Datenbanken und möchte gerne aus Datenbank 1 heraus eine Tabelle aus Datenbank 2 per SQL und JOIN einbinden.

Wie sage ich Oracle in der Datenbank 1 jedoch, dass die Tabelle in Datenbank 2 liegt? Solange die vollständige Spracherkennung und das Gedankenlesen unter Oracle noch nicht funktioniert, kann man sich damit behelfen, einen Datenbank-Link aufzubauen.

CREATE PUBLIC DATABASE LINK DeinGewünschterLinkname CONNECT TO UsernameInDatenbank2 IDENTIFIED BY PasswortInDatenbank2 USING ‘TNSNameVonDatenbank2′;

Sodann kann man die Tabelle recht einfach über SQL ansprechen und in einen JOIN einbinden.

SELECT T1.*, T2.* FROM DeineTabelle T1 LEFT JOIN AndereTabelle@DeinGewünschterLinkname T2 ON T1.JoinFeld = T2.JoinFeld

Einzige Voraussetzung für das oben angeführte Vorgehen ist, dass Datenbank2 unter dem TNSNameVonDatenbank2 systemweit bekannt ist.