Zu Oracle

Bereich:
Versionsinfo:
DBA
9.2 10.2 11.1
Erstellung:
Letzte Überarbeitung:
2003 MP
05/2009 BK
 Als PDF Downloaden!

Oracle Export

Übersicht der Themen: 

  • Funktionen
  • Aufrufmethoden
  • Syntax
  • Export-Modi
  • Parameter

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:

  • Dateien importiert werden, die mit Export entstanden sind
  • Dateien exportiert werden, die mit Import importiert werden sollen (Daten aus Oracle 10g, die in eine frühere Version importiert werden sollen)

Funktionen

Mit Hilfe der Export / Import Utilities können Sie:

  • Logische Backups von Datenbank-Objekten, ganzen Schemata, Tablespaces oder einer kompletten Datenbank erstellen.
  • Bei einem Fehlerfall einzelne Objekte, Schemata, Tablespaces oder Datenbanken wiederherstellen.
  • Zwischen verschiedenen Oracle Versionen migrieren.

Aufrufmethoden

Die Utilities werden über die Command Line des jeweiligen Betriebssystems aufgerufen.
Dabei gibt es drei verschiedene Möglichkeiten:

Interaktiv

  • Geben Sie nur den Befehl 'exp' ein.
  • Sie werden nun nach jedem Parameter gefragt.
  • Hierbei sind aber nicht alle möglichen Parameter verfügbar.
  • Bei der Abfrage wird immer ein Default-Wert vorgegeben.

Kommandozeile

  • Sie übergeben beim Aufruf des Befehls alle Parameter mit ihren Werten.
  • Beispiel: exp <user>/<pwd> tables=( emp, dept, ...) indexes=n constraints=y file=<name>.dmp

Parameterfile

  • Ein Teil oder alle Parameter werden über eine eigene Datei aufgerufen.
  • Beispiel: exp parfile=<datei_name>

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

  • Exportiert die angegebenen Tabellen aus dem Schema des Benutzers.
  • Ein privilegierter Benutzer kann Tabellen exportieren, die anderen Benutzern gehören.

Modus Benutzer

  • Exportiert alle Objekte aus dem Schema eines Benutzers.
  • Privilegierte Benutzer können alle Objekte einer Reihe von Benutzern exportieren.

Modus Tablespace

  • Mit transportablen Tablespaces kann eine Teilmenge einer Oracle Datenbank in eine andere Oracle Datenbank verlagert werden.
  • Kann schneller als Export/Import der Daten sein, da nur die Datendateien kopiert und in die Strukturinformation des Tablespace integriert werden.
  • Ab Version 9i können auch die Objekte eines Tablespaces (Tabellen oder Indizes) gesammelt exportiert werden

Modus Datenbank

  • Exportiert alle Datenbank-Objekte, außer denen des SYS-Schemas.
  • Nur privilegierte Benutzer können diesen Modus verwenden.

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

Suche

Kontakt

Telefon:
  089 6228 6789-0

Telefon (noch gültig):
  089 679090-40

E-Mail Verteiler Monatstipps

Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.