Oracle Datapump
Inhaltsverzeichnis
1 Voraussetzung
- Ein Oracle Verzeichnis ("DIRECTORY"), siehe hier.
2 expdp
expdp pat/PAT schemas=PAT directory=backup dumpfile=2014-06-10.dmp logfile=expdpPAT.log
oder expdp pat/PAT@JUNGPFL
oder expdp pat/PAT@BOECK
z.B.
3 impdp
impdp pat/PAT directory=backup dumpfile=sicherung.dmp logfile=impdpPAT.log
3.1 Inhalt des Dump Files anzeigen
impdp pat/PAT directory=backup dumpfile=test.dmp logfile=your_import_log.txt sqlfile=dumpfile_test.txt
Inhalt des Dump Files wird in dumpfile_test.txt geschrieben.
3.2 Fehler: Inkompatible Versionsnummer 5.1 in Dump-Datei
Lösung: Beim Export (alte) Versionsnummer der Oracle Datenbank angeben, in die importiert werden soll:
expdp pat@JUNGPFL/PAT dumpfile=test1.dmp logfile=test1.log directory=backup version=11.2
4 Filtern
- tablespaces=jungpfl
4.1 INCLUDE
INCLUDE=TABLE:"IN('B_PRODPLAN')"
INCLUDE=TABLE:"= 'B_PRODPLAN' "
INCLUDE=PROCEDURE:"LIKE'CUST_%'"
ACHTUNG: Nicht alle INCLUDE Varianten funktionieren direkt auf der Kommandozeile. Am ehesten wohl noch INCLUDE=TABLE:"IN('B_PRODPLAN')" (mit einer Tabelle). Ansonsten müssen die Parameter in eine Parameterdatei geschrieben werden, s.u..
Mögliche Objekte für INCLUDE wie z.B. TABLE oder PROCEDURE mit Abfrgae:
select * from DATABASE_EXPORT_OBJECTS;
4.2 EXCLUDE
gleiche Syntax und Einschränkung wie INCLUDE, siehe dort.
5 Parameterdatei
expdp ohne direkte Paramter aufrufen;
PS C:\Users\adminsql\downloads> expdp pat@JUNGPFL/PAT parfile=par.txt
Die Paramterdatei par.txt im Verzeichnis, aus dem expdp aufgerufen wird (hier also C:\Users\adminsql\downloads), hat dann z.B. folgenden Inhalt:
directory=pp
logfile=exdpPAT.log
dumpfile=KI_2018-04-11_10-50-13.dmp
exclude=table:"IN('B_LOG','E_LOG','E_LOG_PK', 'XIE1B_LOG', 'XPKB_LOG', 'B_AVAIL_RESULT_OUTPUT')"
schemas=PAT