Migrieren von Geodaten aus Oracle zu Postgresql

Ich versuche mein bestes zu migrieren einer Geo-Datenbank von Oracle zu Postgresql und scheitern kläglich.

Habe ich versucht viele verschiedene Möglichkeiten, wie Sie sehen können aus meiner früheren Frage hier, und niemand arbeiten. Kann mir bitte jemand sagen, der eine relativ schmerzlose Möglichkeit, dies zu tun, da bin ich jetzt ahnungslos mit ihm.

Habe ich versucht, mit Hilfe von 3rd-party-software wie SwisSQL aber dies scheiterte mit einer Vielzahl von Fehlern. Ich habe versucht, Dateien zu erzeugen, voll von insert-Anweisungen und erstellt dann ein C# - Programm zu analysieren, und ersetzen Sie die oracle-spatial-Typen mit entsprechenden postgis und diejenigen, die nicht mit einem out of memory-Ausnahme auf der grundlegendsten ersetzt durch die schiere Größe dieser Dateien. Einige der Tische haben über 2 Millionen Datensätze, so können Sie sich vorstellen, die Größe der Datei, die die Einsätze enthielten, für jeden von denen.

Ich bin immer ziemlich verzweifelt nach einer Lösung für dieses, wie es ist ernsthaft behindern den Fortschritt auf diesem Projekt. Ich brauche die Daten in Postgresql, denn ich Schreibe software, die muss sein, Datenbank-agnostisch, d.h. es muss geprüft werden, auf realen Daten für jede Datenbank.

Irgendwelche Ideen jeglicher Art wäre mit offenen Armen willkommen geheißen. Wenn es nicht für die räumliche Aspekt dieser wäre es gewesen, weit mehr einfach und wahrscheinlich gemacht durch jetzt.

EDIT:

Hier ist ein Beispiel für eine insert-produziert von Toad für Oracle, um eine Vorstellung zu geben von Daten die Komplexität.

Insert into CLUSTER_1000M
(CLUSTER_ID, CELL_GEOM, CELL_CENTROID)
Values
(4410925, 
"MDSYS"."SDO_GEOMETRY"(2003,81989,NULL,
"MDSYS"."SDO_ELEM_INFO_ARRAY"(1,1003,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
"MDSYS"."SDO_ORDINATE_ARRAY"(80000,103280,81000,104280,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)), 
"MDSYS"."SDO_GEOMETRY"(2001,81989,
"MDSYS"."SDO_POINT_TYPE"(80500,103780,NULL),NULL,NULL));
  • Ich denke, das könnte tatsächlich eine bessere Traktion auf gis.stackexchange.com.
  • Ich weiß, das ist nicht ganz das, was Sie nach sind, aber es könnte Ihnen ein paar gute Ideen: Wie die batch synchronisieren von Daten aus ArcSDE PostGIS?
  • "Anzahl der Datensätze" ist selten wichtig - die Komplexität der einzelnen Datensätze oft der Fall ist. Wenn Sie Ihre räumlichen Daten haben Tausende von Ringen, schlechte geometrie, etc etc, dann kann man erwarten, dass Fehler.
  • Ich will hinzufügen, ein Beispiel für eine insert-erzeugt durch oracle, das kann eine Vorstellung von Komplexität
InformationsquelleAutor CSharpened | 2012-03-20
Schreibe einen Kommentar