Oracle Datapump: Unterschied zwischen den Versionen
Schild (Diskussion | Beiträge) |
(→gelöschte Daten wiederherstellen) |
||
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | ===Voraussetzung=== | ||
+ | *Ein [[Oracle_Directory|Oracle Verzeichni]]s ("DIRECTORY"), siehe [[Oracle_Directory|hier]]. | ||
+ | ===expdp=== | ||
+ | <code>expdp pat/PAT schemas=PAT directory=backup dumpfile=2014-06-10.dmp logfile=expdpPAT.log </code> | ||
+ | |||
+ | oder <code>expdp pat/PAT@JUNGPFL</code> | ||
+ | |||
+ | oder <code>expdp pat/PAT@BOECK</code> z.B. | ||
===impdp=== | ===impdp=== | ||
− | impdp pat | + | <code>impdp pat/PAT directory=backup dumpfile=sicherung.dmp logfile=impdpPAT.log</code> |
− | + | ====Inhalt des Dump Files anzeigen==== | |
− | |||
− | impdp pat/PAT | + | <code>impdp pat/PAT directory=backup dumpfile=test.dmp logfile=your_import_log.txt sqlfile=dumpfile_test.txt</code> |
− | + | Inhalt des Dump Files wird in dumpfile_test.txt geschrieben. | |
− | |||
− | === | + | ====Tabelle unter anderem Namen importieren==== |
− | + | <code>impdp pat/PAT directory=backup dumpfile=test.dmp REMAP_TABLE=PAT.B_TABELLE:B_TABELLE_XX</code> | |
− | |||
− | + | ü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. | |
− | |||
− | ==== | + | ====Fehler: Inkompatible Versionsnummer 5.1 in Dump-Datei==== |
+ | Lösung: Beim Export (alte) Versionsnummer der Oracle Datenbank angeben, in die importiert werden soll: | ||
+ | |||
+ | <code>expdp pat@JUNGPFL/PAT dumpfile=test1.dmp logfile=test1.log directory=backup version=11.2</code> | ||
− | ===== | + | ===Filtern=== |
− | |||
− | = | + | * tablespaces=jungpfl |
− | + | ====INCLUDE==== | |
+ | <code>INCLUDE=TABLE:"IN('B_PRODPLAN')"</code> | ||
+ | <code>INCLUDE=TABLE:"= 'B_PRODPLAN' "</code> | ||
+ | <code>INCLUDE=PROCEDURE:"LIKE'CUST_%'"</code> | ||
− | + | 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|Parameterdatei]] geschrieben werden, [[#Parameterdatei|s.u.]]. | ||
+ | Mögliche Objekte für INCLUDE wie z.B. TABLE oder PROCEDURE mit Abfrgae: | ||
+ | <code>select * from DATABASE_EXPORT_OBJECTS;</code> | ||
+ | ====EXCLUDE==== | ||
+ | gleiche Syntax und Einschränkung wie [[#INCLUDE|INCLUDE]], [[#INCLUDE|siehe dort]]. | ||
+ | ===Parameterdatei=== | ||
− | + | expdp ohne direkte Paramter aufrufen; | |
+ | <code>PS C:\Users\adminsql\downloads> expdp pat@JUNGPFL/PAT parfile=par.txt</code> | ||
+ | Die Paramterdatei par.txt im Verzeichnis, aus dem expdp aufgerufen wird (hier also C:\Users\adminsql\downloads), hat dann z.B. folgenden Inhalt: | ||
+ | <blockquote> | ||
+ | directory=pp | ||
− | |||
logfile=exdpPAT.log | logfile=exdpPAT.log | ||
+ | |||
dumpfile=KI_2018-04-11_10-50-13.dmp | 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')" | exclude=table:"IN('B_LOG','E_LOG','E_LOG_PK', 'XIE1B_LOG', 'XPKB_LOG', 'B_AVAIL_RESULT_OUTPUT')" | ||
+ | |||
schemas=PAT | schemas=PAT | ||
− | + | </blockquote> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 23. Februar 2021, 11:57 Uhr
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 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