Import/Export von Datenbanken

warning Hinweis

  • Das hier beschriebene Verfahren zum Importieren und Exportieren der Datenbank gilt nur bis Server-Version < S 39.5.12. Haben Sie eine Server-Version >= S 39.5.12 im Einsatz, gehen Sie bitte zum Topic DatenbankExportImport.

info Information

warning Hinweise

  • Der Gebrauch von exp bzw. imp sollte aus folgenden Gründen vermieden werden, sofern es keine triftigen Umstände gibt, die den Einsatz alternativlos machen:
    • Ab Oracle DB-Version 11.1 ist exp veraltet und wird nicht mehr unterstützt. Lediglich imp wird noch für den Import von Dumps aus älteren Systemen unterstützt. Aufgrund dessen werden ab dieser Version über exp keine leeren Tabellen mehr exportiert, sodass diese nach einem anschließenden Import fehlen.
    • imp ändert für Materialized Views den MView-Owner nicht (FROMUSER/TOUSER hat hier keinen Einfluss), sodass hinterher der Zugriff von PLANTA aus fehlschlägt, da der View einem anderen als dem PLANTA-DB-User gehört, der u. U. auf dem Zielsystem nicht existiert.
      • Dies kann nachträglich mit SYSDBA-Rechten korrigiert werden, siehe auch hier.

Beispiele für "sichere" Im-/Export-Befehle zum Ziehen bzw. Einspielen eines Dumps

warning Hinweis
  • Voraussetzung für die nachfolgenden Vorgehensweisen sind die entsprechenden Rechte.

Einspielen einer Datenbank mit impdp

  • Wenn ein altes Schema überschrieben werden soll, wird empfohlen, dieses zuvor mithilfe des Skripts drop_schema.sql zu leeren
  • Um einen Dump erfolgreich einzuspielen, sind einige Parameter zu setzen (Oracle Import Parameter siehe Link oben).
  • application Beispiel:
impdp <DB_User>/<Password>@<SID> DIRECTORY=<Data_Pump_Dir> DUMPFILE=<Dump Filename>.dmp PARALLEL=4 SCHEMAS=<Source_User> REMAP_SCHEMA=<Source_User>:<DB_User> REMAP_TABLESPACE=<Source_TABLESPACE>:<DB_TABLESPACE> LOGFILE=<Log Filename>.log TABLE_EXISTS_ACTION=REPLACE TRANSFORM=SEGMENT_ATTRIBUTES:N
  • warning Von Kleiner-/Größer-Zeichen (< bzw. >) umschlossene Platzhalter sind mit den entsprechenden Werten zu ersetzen.

note Erläuterung der Parameter und Werte

  • Connect string: Wer verbindet sich auf welche Datenbank
    • <DB_User>
      • hier sollte der PLANTA-DB-Benutzer verwendet werden. Damit ist der Import auf die Schemas beschränkt, auf die der Benutzer Rechte hat. Somit wird nichts importiert, was nicht dazugehört, siehe auch Parameter SCHEMAS.
    • <Password>
      • Passwort von <DB_User>
    • <SID>
      • Die Oracle-System-ID der betreffenden Datenbank

Parameter Wert
DIRECTORY
  • auf dem DB-Server eingerichtetes DB-Verzeichnis-Objekt
  • Die Dump-Datei wird eingelesen aus dem mit DIRECTORY assoziierten Dateisystem-Verzeichnis, z.B.: AUDIT_DIR zeigt auf Verzeichnis /tmp; nachzuschlagen über den View dba_directories
    • warning Die Dump-Datei muss vor Einspielen in dieses Verzeichnis (auf dem DB-Server!) transferiert worden sein.
    DUMPFILE
  • Name der Dump-Datei
  • PARALLEL
  • Angabe der maximalen Anzahl paralleler Prozesse zur Beschleunigung des Exports, z.B. 4, abhängig von der Anzahl der Server-Prozessor-Kerne (nur verfügbar in der Enterprise Edition von Oracle Database 11g)
  • SCHEMAS
  • Angabe eines oder mehrerer (durch Komma getrennter) zu importierender Schemas, so wie sie im Dump vorhanden sind, d.h. i.d.R. der Name des/der Quell-Benutzer
  • Werden mehrere Schemas importiert, so müssen sie alle auch beim Remap-Befehl berücksichtigt werden.
  • REMAP_SCHEMA
  • Der Quell-Benutzer, aus dem der Dump erstellt wurde, muss umgemappt werden auf den Benutzer, in den der Import erfolgen soll.
  • REMAP_TABLESPACE
  • Der im Quellsystem verwendete Tablespace muss umgemappt werden auf den Tablespace der aktuellen Datenbank
    • Bei PLANTA ist das i.d.R. DATA
    LOGFILE
  • Name des Logfiles
    • Namensvergabe analog Dumpfile, impdp voranstellen, Extension .log
  • TABLE_EXISTS_ACTION
  • REPLACE: falls eine Tabelle bereits vorhanden ist, wird sie gelöscht und durch die im Dump befindliche ersetzt
  • TRANSFORM
  • SEGMENT_ATTRIBUTES:N
  • die Segmentattribute werden generell nicht übernommen, damit nur die Einstellungen der Ziel-Datenbankinstanz gelten.
  • application Beispiel-Befehl

    impdp Neuer_Benutzer/ppms@Meine_Datenbank PARALLEL=4 DIRECTORY=AUDIT_DIR DUMPFILE=10_2_Mein_System.dmp LOGFILE=impdp_Mein_System.log SCHEMAS=Exportierter_Benutzer REMAP_SCHEMA=Exportierter_Benutzer:Neuer_Benutzer REMAP_TABLESPACE=Tablespace_des_exportierten_Benutzers:Zu_benutzender_Tablespace TABLE_EXISTS_ACTION=REPLACE TRANSFORM=SEGMENT_ATTRIBUTES:N

    Export der Daten mit expdp

    • Um einen Dump erfolgreich zu erzeugen, mit dem gearbeitet werden kann, sind einige wichtige Parameter zu setzen.
    • application Beispiel
    expdp <DB_User>/<Password>@<SID> DIRECTORY=<Data_Pump_Dir> DUMPFILE=<Dump Filename>.dmp PARALLEL=4 SCHEMAS=<DB_User> CONTENT=ALL EXCLUDE=STATISTICS VERSION=10.2 LOGFILE=<Log Filename>.log
    • warning Von Kleiner-/Größer-Zeichen (< bzw. >) umschlossene Platzhalter sind mit den entsprechenden Werten zu ersetzen.

    note Erläuterung der Parameter und Werte

    • Connect string: Wer verbindet sich auf welche Datenbank
      • <DB_User>
        • hier sollte der PLANTA DB-Benutzer verwendet werden. Damit ist der Export auf das Schema des PLANTA DB-Benutzers beschränkt. Somit wird nichts exportiert, was nicht dazugehört, siehe auch Parameter SCHEMAS.
      • <Password>
        • Passwort von <DB_User>
      • <SID>
        • Die Oracle-System-ID der betreffenden Datenbank
    Parameter Wert
    DIRECTORY
  • auf dem DB-Server eingerichtetes DB-Verzeichnis-Objekt
  • die Dump-Datei wird abgelegt in dem mit DIRECTORY assoziierten Dateisystem-Verzeichnis, z.B. AUDIT_DIR oder DATA_PUMP_DIR; nachzuschlagen über den View dba_directories
  • DUMPFILE
  • Name der Dump-Datei
  • application Beispiel für die Namenskonvention
    • expdp_<DB-Version>_<Kundenlizenz>_<DB_User>_<PLANTA/PPMS-Version>.dmp
  • PARALLEL
  • Angabe der maximalen Anzahl paralleler Prozesse zur Beschleunigung des Exports, z.B. 4, abhängig von der Anzahl der Server-Prozessor-Kerne (nur verfügbar in der Enterprise Edition von Oracle Database 11g)
  • SCHEMAS
  • Angabe eines oder mehrerer zu exportierender Schemas, für die Zugriffsrechte bestehen müssen
  • CONTENT
  • ALL ist der Default-Wert
    • Sowohl Metadaten als auch Daten sollen exportiert werden
  • EXCLUDE
  • STATISTICS - das Übertragen von Statistiken kann zu Problemen führen. Sie werden auf dem Zielsystem ohnehin automatisch wieder erstellt, daher werden sie hier ausgeklammert.
  • VERSION
  • 10.2 - Angabe der Oracle-DB-Version, bis zu der der Dump abwärtskompatibel sein soll. D.h., bei Angabe von 10.2 kann der erzeugte Dump in jedes Oracle-DBMS ab Version 10.2 eingespielt werden.
  • LOGFILE
  • Name des Logfiles
    • Namenskonvention analog Dumpfile, Extension .log
    • application Beispiel-Befehl:
    expdp PLANTA_PROD/Geheim.124@ORADB DIRECTORY=AUDIT_DIR DUMPFILE=expdp_10.2_444_PLANTA_PROD_3904.dmp PARALLEL=4 SCHEMAS=PLANTA_PROD CONTENT=all EXCLUDE=statistics VERSION=10.2 LOGFILE=expdp_10.2_444_PLANTA_PROD_3904.log

    warning Hinweis

    • Das Logfile muss zusammen mit dem Dump an PLANTA geschickt werden.
    Topic revision: r3 - 2016-03-17 - 00:03:29 - ChristianePeter








     
    • Suche in Topic-Namen

    • Suche in Topic-Inhalten