Wie generiere ich die gesamte DDL eines Oracle-Schemas (skriptfähig)?
Kann mir jemand sagen wie kann ich das generieren der DDL-Code für alle Tabellen, sichten, Indizes, Pakete, Prozeduren, Funktionen, Trigger, Typen, Sequenzen, Synonyme, Zuschüsse, etc. innerhalb einer Oracle-schema? Im Idealfall würde ich gerne kopieren, die Zeilen zu, aber das ist weniger wichtig.
Möchte ich dazu auf einen geplanten job eine gewisse Art und nicht jedes mal manuell, so dass die Regeln mit dem Assistenten im SQL Developer.
Ideal, da will ich laufen, diese auf mehrere schemas gewährt und Synonyme zu einander, ich hätte gerne eine Möglichkeit, eine suchen/ersetzen in der Ausgabe, so dass die schema-Namen übereinstimmen, was die Namen meiner neuen schemas sein werden.
Dank!
InformationsquelleAutor der Frage Eric | 2012-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die spool-schema aus, um eine Datei per SQL*Plus und dbms_metadata-Paket. Ersetzen Sie dann die schema-name mit einem anderen über sed. Dies funktioniert für Oracle 10 und höher.
Legen Sie alles in ein Skript und führen Sie es über cron (scheduler). Export von Objekten kann schwierig sein, wenn die erweiterten Funktionen genutzt werden. Seien Sie nicht überrascht, wenn Sie brauchen, um ein paar mehr Ausnahmen zu den obigen code.
InformationsquelleAutor der Antwort MichaelN
Wenn Sie möchten individuell generieren von ddl für jedes Objekt,
Abfragen:
- GENERIEREN VON DDL FÜR ALLE BENUTZER-OBJEKTE
--1. FÜR ALLE TABELLEN
--2. FÜR ALLE INDIZES
--3. FÜR ALLE ANSICHTEN
ODER
--4. FÜR ALLE MATERILIZED ANSICHTEN
--5. FÜR ALLE FUNKTION
===============================================================================================
GET_DDL Funktion keine Unterstützung für einige object_type wie LOB,MATERIALIZED VIEW, TABLE PARTITION
SO, Konzern-Abfrage für die Generierung von DDL werden:
InformationsquelleAutor der Antwort Gurupreet Singh Bhatia
Gibt es ein problem mit Objekten wie PACKAGE_BODY:
InformationsquelleAutor der Antwort v0devil
Den get_ddl Verfahren für ein PAKET zurück, sowohl Skillung UND Körper, so wird es besser sein, ändern Sie die Abfrage auf die all_objects also das Paket Körper werden nicht zurückgegeben wählen.
So weit, ich habe die Abfrage so:
Obwohl andere änderungen erforderlich sein könnten, je nach Objekt-Typen, die Sie bekommen...
InformationsquelleAutor der Antwort Vitor Pinto
exportieren Sie zuerst die schema-Metadaten und importieren Sie dann mithilfe sqlfile-option(es werden keine Daten importieren, nur es schreiben ddl-schema-Datei)
Beispiel:-
expdp dumpfile=filename logfile=logname directory=dir name schemas=schema name
username:/as sysdba
impdp dumpfile=filename logfile=logname directory=dir sqlfile=sql.log
username:/as sysdba
InformationsquelleAutor der Antwort ravi
Zum generieren der DDL-Skript für eine ganze SCHEMA d.h. eine BENUTZERSie könnte verwenden dbms_metadata.get_ddl.
Führen Sie das folgende Skript in SQL*Plus erstellt von Tim Hall:
Bieten die Benutzernamewenn Sie dazu aufgefordert werden.
InformationsquelleAutor der Antwort Lalit Kumar B