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 gelöschte Daten wiederherstellen
impdp pat/PAT directory=backup dumpfile=test.dmp TABLES=B_kndstamm REMAP_TABLE=B_kndstamm_1
überträgt beispielsweise den Kundenstamm der letzten Sicherung in eine neue Tabelle. In dieser Tabelle die fehlenden Daten suchen und mit Export als insert in ein neues Arbeitsblatt im SQL DEV bekommen und in die Originaltabelle wieder einfügen.
3.3 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