Zwei Datenbanken verlinken

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>