Datenmigration Oracle -> PG

Hallo zusammen,
Ich sollte eine Oracle DB nach Postgres migrieren.
In einem ersten Schritt habe ich die bestehende Oracle DB gescriptet und nach PG geändert (Datentypen anpassen, SP’s neu geschrieben etc.). Soweit so gut.
Ich stehe nun vor dem Problem wie ich die Daten aus der Oracle DB exportieren und in PG importieren kann. (Oracle DB enthält CLOB + BLOB Datenfelder).
Ist das via Export/Import überhaupt möglich (muss ich da was spezielles beachten)?

Der Einsatz eines “Datapumptools” (ausser es funktioniert via Export-/Imortfiles) ist nicht möglich da ein gleichzeitiger Connect des Oracle und PG Servers nicht möglich ist.

Besten Dank für einen Tipp.
acki4711

Tja, wenn gleichzeitige Connects nicht möglich sind, bleibt alles am Export hängen.

Dann erzähle doch mal, in welchen Formaten du die Daten in Oracle exportieren kannst …

OK, das Exportieren von BLOB Feldern in Files zwar möglich:
(Metalink Artikel: 471715.1)

CREATE OR REPLACE PROCEDURE retrieve_lob_to_file(temp_blob in BLOB, file_path in varchar2, file_name in varchar2) IS
data_buffer RAW (32767);
position INTEGER := 1;
filehandle utl_file.file_type;
error_number NUMBER;
error_message VARCHAR2(100);
blob_length INTEGER;
chunk_size BINARY_INTEGER := 32767;
BEGIN
blob_length := dbms_lob.getlength(temp_blob);

filehandle := utl_file.fopen(file_path, file_name,‘wb’, 1024);

WHILE position < blob_length LOOP

dbms_lob.read (temp_blob, chunk_size, position, data_buffer);

utl_file.put_raw (filehandle, data_buffer);

position := position + chunk_size;

data_buffer := null;

END LOOP;

utl_file.fclose(filehandle);


EXCEPTION
WHEN OTHERS THEN
BEGIN
error_number := sqlcode;
error_message := substr(sqlerrm ,1 ,100);
dbms_output.put_line('Error #: ’ || error_number);
dbms_output.put_line('Error Message: ’ || error_message);
utl_file.fclose_all;
END;
END;
/

Ist aber doch in meinen Augen sehr ‘unhandlich’.
Habe den Ansatz soeben beerdigt (RIP).
Werde mir mal ora2pg oder das Tool “EMS Datapump für PostgreSQL” (EMS SQL Manager - EMS Data Pump for PostgreSQL: Migrations- und Konvertierungstool von Datenbanken für PostgreSQL. Flexible Änderung von Daten und Schemas, Befehlszeilendienstprogramm für automatische Migration in PostgreSQL und viele weitere Feat)
näher anschauen…

THX
acki4711