Oracle Datapump: Unterschied zwischen den Versionen
Schild (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ ===Inkompatible Versionsnummer 5.1 in Dump-Datei=== expdp pat@JUNGPFL/PAT dumpfile=test1.dmp logfile=test1.log directory=backup version=11.2 ===impdp===…“) |
(→gelöschte Daten wiederherstellen) |
||
| (14 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> | |
| − | expdp pat | ||
| − | + | oder <code>expdp pat/PAT@JUNGPFL</code> | |
| − | |||
| − | + | oder <code>expdp pat/PAT@BOECK</code> z.B. | |
| − | |||
| − | impdp pat/PAT directory=backup dumpfile= | + | ===impdp=== |
| + | <code>impdp pat/PAT directory=backup dumpfile=sicherung.dmp logfile=impdpPAT.log</code> | ||
| − | + | ====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. | |
| − | |||
| − | ==== | + | ====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 | 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