# [Oracle] DB-Struktur als .sql exportieren



## xnicnacx (20. April 2007)

Hi Forum
folgendes Problem:
Ich habe eine DB die ich auf eine andere Maschine transportieren muss, von der ich noch nicht weiss ob dort Oracle oder eine andere DB läuft bzw. welche Version. Daher erscheint mir ein .sql-export der vernünftigste Weg, zumal ich dann noch von Hand etwas nacheditieren kann.
Das tool EXP bietet leider soweit ich gesehen habe nur Exporte in binäre .dmp-Dateien an, die zudem noch an die jeweilige Oracle-Version gebunden sind...
Bin ich auf nem Holzweg?


----------



## Nico Graichen (20. April 2007)

Hi

Also ein Tool, welches ein DDL-Skript generiert ist mir nicht bekannt, hätte ich aber auch gern  Im SQL Server ist diese Funktion integriert.
Das Dump-File von EXP kann jedoch auch in andere Versionen importiert werden. Ich weiß nicht, wie es mit der aufwärtskompatibilität steht, ein Dump-File einer älteren Version lässt sich jedoch in eine neuere importieren. Ich kann mir aber nicht vorstellen, dass der umgekehrte Weg nicht gehen sollte.


----------



## bri17 (20. April 2007)

Hallo,

die Funktionalität erfüllt auf jeden Fall der PL/SQL Developer von Allround Automations. Mit dem kannst du sämtliche DB-Objekte und/oder Daten als SQL-Stream exportieren unter Berücksichtigung aller Abhängigkeiten. Falls die 2. DB ebenfalls eine Oracle ist, kannst du anschließend einen Schemata-Vergleich beider Instanzen ausführen, um zu sehen, ob alles korrekt übernommen wurde. Das Tool ist allerdings lizenzpflichtig, aber aus meiner Sicht das Beste, was es derzeit gibt auf dem Oracle-Entwicklungswerkzeug-Markt.

Als Light-Variante sollte das evtl. auch der freie SQL Developer von Oracle bieten. Mit dem habe ich allerdings noch keine Erfahrung in dieser Hinsicht...

Grüße Berit.


----------



## Exceptionfault (21. April 2007)

Der SQL Developer nutzt nichts anderes als das Datenbankpackage DBMS_METADATA. Hiermit kann man von jedem beliebigen Objekt in der Datenbank das exakte DLL generieren lassen. Bei der Generierung lässt sich sogar ein Kompatibilitätslevel angeben, wobei manche Features die in 10G funktionieren sich nunmal nicht auf 8i konvertieren lassen...

Mit einem simplen SQL*Plus Script kann man sich so ein ganzes Schema schnell als DDL generieren lassen. Noch feiner ist übrigens das neue DataPumpExpo / Imp Tool. 
Ich ziehe mit dem EXPDP Tool ein Dump (ohne Daten wg. Performance!) und sage dem IMPDP Tool, es soll das Dump File nicht generieren sondern als DDL auf die Platte schreiben. Nutzt intern auch DBMS_METADATA, ist aber schneller als was selber zu bauen.


----------

