# [Oracle] Lobs und Remote Tabellen (Database Links)



## Danielku15 (22. Juli 2009)

Hallo.
Ich sitze hier gerade an einem Problem welches ich nicht lösen kann.
Ich habe 2 Datenbanken (A und B) mit jeweils der gleichen Tabelle (LogSystem). Auf der Datenbank B soll ein Job eingerichtet werden welcher laufend die Einträge von A.LogSystem abholt und in B.LogSystem einträgt. Darauf sollen die Einträge von A.LogSystem gelöscht bzw. mit einem Flag versehen werden dass erkennbar ist dass diese bereits synchronisiert wurden.

Nun zum Hauptproblem: Die Tabelle LogSystem beinhaltet CLOBs. Somit kann kein normaler SELECT durchgeführt werden (ORA-22992: cannot use LOB locators selected from remote tables). 
Die Daten nur zu synchronisieren ist kein Problem: 
B>INSERT INTO LogSystem SELECT * FROM LogSystem@link_zu_A;

Nur wie soll ich nun an die Liste der synchronisierten Einträge kommen? Da in der Zwischenzeit schon wieder neue Einträge verfügbar sein können, kann ich die Tabelle A.LogSystem nicht einfach leeren. 
Gibt es eine Möglichkeit einen Cursor oder ähnliches zu laden welcher mir ermöglicht die Einträge von der einen Tabelle zu laden und in die andere Datenbank einzutragen (+ Anschließendes UPDATE oder DELETE). 

Zur Info: Die Tabelle hat keinen PK oder Unique Key anhand welcher man die Einträge identifizieren könnte.  
Ich arbeite mit Oracle 10g (10.2) und PL/SQL.

Gruß 
Daniel


----------

