Oracle Datapump: Unterschied zwischen den Versionen
Schild (Diskussion | Beiträge) |
(→gelöschte Daten wiederherstellen) |
||
(9 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=== | ===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 < | + | oder <code>expdp pat/PAT@BOECK</code> z.B. |
− | |||
− | |||
===impdp=== | ===impdp=== | ||
− | < | + | <code>impdp pat/PAT directory=backup dumpfile=sicherung.dmp logfile=impdpPAT.log</code> |
====Inhalt des Dump Files anzeigen==== | ====Inhalt des Dump Files anzeigen==== | ||
− | < | + | <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 | + | 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=== | ===Filtern=== | ||
Zeile 23: | Zeile 36: | ||
====INCLUDE==== | ====INCLUDE==== | ||
− | + | <code>INCLUDE=TABLE:"IN('B_PRODPLAN')"</code> | |
− | + | <code>INCLUDE=TABLE:"= 'B_PRODPLAN' "</code> | |
− | + | <code>INCLUDE=PROCEDURE:"LIKE'CUST_%'"</code> | |
ACHTUNG: | ACHTUNG: | ||
− | Nicht alle INCLUDE | + | 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 | + | 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: | 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; | expdp ohne direkte Paramter aufrufen; | ||
− | PS C:\Users\adminsql\downloads> expdp pat@JUNGPFL/PAT parfile=par.txt | + | <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: | Die Paramterdatei par.txt im Verzeichnis, aus dem expdp aufgerufen wird (hier also C:\Users\adminsql\downloads), hat dann z.B. folgenden Inhalt: | ||
Zeile 56: | Zeile 69: | ||
schemas=PAT | schemas=PAT | ||
</blockquote> | </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