Oracle Datapump

Aus PPwiki
Wechseln zu: Navigation, Suche

1 Voraussetzung

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 Tabelle unter anderem Namen importieren

impdp pat/PAT directory=backup dumpfile=test.dmp REMAP_TABLE=PAT.B_TABELLE:B_TABELLE_XX

überträgt die Tabelle der letzten Sicherung in eine neue Tabelle_XX. 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