Übersicht der Themen:
Hinweis
Mit der Version 10g hat Oracle das neue Werkzeug Data Pump Export und Import verfügbar gemacht. Oracle empfiehlt, dass ab der Version 10g Data Pump für Export und Import verwendet werden sollen.
Es muss das (alte) Export / Import Werkzeug verwendet werden, wenn:
Funktionen
Mit Hilfe der Export / Import Utilities können Sie:
Aufrufmethoden
Die Utilities werden über die Command Line des jeweiligen Betriebssystems aufgerufen.
Dabei gibt es drei verschiedene Möglichkeiten:
Interaktiv
Kommandozeile
Parameterfile
Syntax
Die Tools finden Sie im Verzeichnis $ORACLE_HOME/bin/ (UNIX)
oder %ORACLE_HOME%\bin\ (Windows).
Beim Aufruf gilt folgende Syntax:
EXP system/manager { [ OWNER=name ] | [ TABLES=(name1,name2,...)] | [ FILE=name ] | [ FULL=Y ] | [ TABLESPACE=name ] ... }
Beispiele:
EXP scott/tiger TABLES=(emp,dept) ROWS=y file=expincr1.dmp
EXP system/manager OWNER=scott DIRECT=y
EXP ‘system/manager as sysdba’ TRANSPORT_TABLESPACE=y TABLESPACES=(ts_emp) LOG=ts_emp.log
EXP system/manager FULL=y INCTYPE=cumulative FILE=expcum1.dmp
Export-Modi
Es gibt vier verschiedene Export-Modi:
Modus Tabelle
Modus Benutzer
Modus Tablespace
Modus Datenbank
Weitere Informationen erhalten Sie in unserem DBA I oder Backup & Recovery Kurs! Wir freuen uns auf Ihren Besuch.
Parameter
Parameter
Funktion
Userid=<usr>/<pwd>
[@db_alias][as sysdba]
Benutzername und Passwort.
Optional kann auch auf eine Remote Datenbank zugegriffen werden.
Wenn als SYS gearbeitet werden soll muss ab 9i die Syntax "AS SYSDBA" angehängt werden
Buffer=<n>
Interne Buffergröße für den Fetch auf die Datenbank. Aus Geschwindigkeitsgründen sollte der Puffer so Groß wie möglich gemacht werden. (z.B 100 000000)
File=<name>
Name der Export-Datei
Grants = [ Y | N ]
Indexes= [ Y | N ]
Rows = [ Y | N ]
Constraints = [ Y | N ]
Triggers = [ Y | N ]
geben an, ob Grants., Indizes, Rows, Constraints und Trigger exportiert werden sollen. Default=Y
Compress= [ Y | N ]
Bei Y wird Initial so berechnet, dass beim Import alle Datensätze in ein Extent passen
Full= [ Y | N ]
FULL=Y Gesamte Datenbank soll exportiert werden
Owner=(<usr1>,<usr2>)
Exportiert das Schema der angegebenen Benutzer
Tables=(<tab1>,<tab2>,...)
(tables=emp,dept,...) Angabe, welche Tabellen exportiert werden sollen. Tabellen, die ein '#' enthalten müssen in doppelte Anführungszeichen gesetzt werden ( z. B. "dept#")
Recordlength=<n>
Länge eines Records im Betriebssystem-File. Wird bei Import auf anderen Betriebssystem mit andere Rekordlänge benötigt
Inctype=
Inkrementtyp : [complete | cumulative | incremental]
Record=[ Y | N ]
Flag, ob inkrementeller Export in den DB-Tabellen sys.incvid, sys.incfil & sys.incexp notiert werden soll
Help=Y
Anzeige der gültigen Parameter
Parfile=<datei>
Name des Parameterfiles
Log=<datei>
Name einer Log-Datei
Consistent=[Y | N ]
Lesekonsistenter Zustand der ges. DB exportiert. Sinnvoll, wenn andere Applikationen schreibend auf die zu sichernden Tabellen zugreifen. Bei vielen Updates auf die Tabelle während Export kann Fehler SNAPSHOT TO OLD auftreten=> Dann sollten evtl. größere Rollbacksegmente erzeugt werden
Statistics= [ Y | N ]
[Estimate | Compute | None ] Soll während Import eine Statistik vom DB-Optimizer generiert werden
Neue ab Oracle 7.3
Direct= [ Y | N ]
Direct Path ist schneller als normaler Export, Daten von Platte in DBBC => Export-Proz (kein Umorganisieren der Blockdaten)
Feedback=<int>
Nach x-Zeilen wird ein Punkt ausgegeben (Default 0)
Neue ab Oracle 8i
Query='WHERE sal>10'
Möglichkeit beim Tabellenexport eine Query mit anzugeben
Filesize=2M
Nach der angegebenen Anzahl von Bytes wird in eine neue Datei geschrieben
Neue ab Oracle 9i
Tablespaces=<tbs_name>
Es können alle Tabellen (und Indizes) eines Tablespace exportiert werden. Dazu ist die Rolle exp_full_database notwendig
Flashback_SCN=<nr>
Wenn der Parameter retention_time entsprechend hoch gesetzt wurde kann hier der Export für ein "alte" SCN konsistent durchgeführt werden
Flashback_Time=
<datum_uhrzeit>
Wenn der Parameter retention_time entsprechend hoch gesetzt wurde kann hier der Export für einen alten Zeitpunkt konsistent durchgeführt werden. Beispiel: es ist jetzt 8.00 Uhr. Um 7.50 wurde eine Tabelle gelöscht. Seten Sie den Parameter auf 7.50 und exportieren Sie die "alte" Version der Tabelle
Resumable= [ Y | N]
Sollte beim Export ein Fehler auftreten (z. B. Platte voll) wird der Export nicht sofort abgebrochen, sondern schreibt nur einen Eintrag in die Tabelle dba_resumable und einen in die Alert-Datei.
Resumable_Name=
<name>
Name der Session der dann in die Tabelle dba_resumable und in die Alert-Datei eingetragen wird
Resumable_Timeout=<sek>
Zeitspanne nach der der auf Resumable gesetzte Fehler endgültig abgebrochen wird. Default 7200 Sekunden = Stunden
Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.