Announcement

Collapse
No announcement yet.

Export/Import einer DB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Export/Import einer DB

    Hallöchen miteinander,

    ich habe folgendes Problem:
    Von einer Datenbank ora1 im Verzeichnis ora1 habe ich einen vollständigen Export ohne Fehler durchgeführen können (Dumpdatei: ora1.dmp). Diese DB enthält z.B. auch den Tablespace "USERS".
    Eine zweite DB ora2 im Verzeichnis ora2 besteht nur aus dem Tablespace "SYSTEM". Für die DB ora2 wollte ich einen vollständigen Export mit der Dunpdatei ora1.dmp durchführen. Dazu wurde in der Dumpdatei die entsprechenden Pfade für die Tablespaces angepasst. Hierfür benutzte ich Notepad.
    Wird nun der Import durchgeführt, bricht der Import mit dem Fehler ab:
    IMP-00038: Umwandlung in Umgebungszeichensatz-Handler fehlgeschlagen. Zu diesem Fehler meint die Online-Hilfe, dass es sich um einen internen Fehler handelt und es Oracle diesbezüglich kontaktiert werden.
    Unter Oracle 8.0.5 konnten die Pfade in der Dump-Datei geändert werden und der Import funktionierte trotzdem, d.h. die Tablespaces wurden erzeugt. Allerdings scheint die Vorgehensweise unter Oracle 8.1.7 nicht mehr erlaubt zu sein.
    Ein manuelles Erzeugen der Tablespaces und anschließendem Import mit der unbearbeiteten Dump-Datei funktioniert.
    Meine Fragen: Wie kann der Inhalt einer DB ora1 in eine DB ora2 übertragen werden? Müssen in der DB ora2 die Tablespaces immer per Hand erzeugt werden?

    Vielen Dank schon im voraus.

    Kuemmelchen

  • #2
    Hallo,

    wenn ich Dich richtig verstanden habe möchtest Du regelmässig eine DB ora1 in eine DB ora2 bekommen.

    Warum setzt Du nicht beide DB's gleich auf (gleiche Tablespaces) und führst einen normalen Full export, import durch ? Ist das nicht weniger Aufwand als jedesmal den Dump zu editieren (mit dem Notepad ?!)

    Ich würde folgendermassen vorgehen:

    1. ora2 genauso aufbauen wie ora1 (gleiche Tablespaces)
    2. ora2 herunterfahren, db_files, controlfiles, redologs sichern.
    3. ora2 hochfahren
    4. dump importieren

    fertich ist die laube ;-))

    Das nächste mal brauchst Du nur noch:
    1. ora2 herunterfahren (per job mit oradim oder per hand)
    2. ora2_leerfiles (die Dateien welche Du beim letzten mal gesichert hast) an die entsprechenden Pfade kopieren (per script oder so)
    3. ora2 hochfahren
    4. dump importieren

    Ich weiss das das jetzt nicht der Stein der Weisen ist, aber besser als die Option mit dem Notepad notepad ;-)).

    Grundsätzlich würde ich mir aber was anderes einfallen lassen falls Du das aus Fehlertoleranzgründen machst. Frag einfach noch mal nach.

    MfG Steve

    Comment


    • #3
      Hallöchen,
      ich möchte beide DB parallel betreiben. Dazu müssen sie in verschiedenen Verzeichnissen abgelegt sein.
      Hintergrund dieser Aktion ist folgendes: Der Kunde meldet ein Problem, dass beim Zugriff auf die DB dieser Fehler immer auftritt. Ich besitze zwar ebenfalls die DB, aber mit dem Unterschied, dass meine DB nur Spieldatensätze enthält. Bei mir tritt der Fehler aber nicht auf. Um den Fehler zu finden und zu beheben, benötige ich dazu die DB des Kundens. Diese soll nun parallel zu meiner DB ora1 unter dem Namen ora2 installiert werden.
      Beim Kunden ist die DB z.B. auf Laufwerk H und in einem anderen Verzeichnis abgelegt. Mein Rechner besitzt aber kein Laufwerk F bzw. nicht das Verzeichnis.
      Wie gesagt, unter Oracle 8.0.5 konnte die Dump-Datei geändert werden und der Import lief trotzdem ohne Fehler durch (Dies wurde oft ohne Probleme von mir durchgeführt!). In der Version 8.1.7 führt dies zum oben genannten Fehler.
      Kuemmelche

      Comment


      • #4
        Hallo,

        ja dann würde ich folgendermassen verfahren (erprobt, habe ca. 40 Kundendb's mit denen ich so verfahre).

        Für jede Kundendb die existiert, eine paralleldb bei Dir anlegen.
        Darauf achten das die Tablespaces gleich benamst sind.
        Sobald Du damit fertig bist und die DB steht (leer!!) wie Du diese brauchst, herunterfahren und cold copy machen (Umfang in der letzten mail beschrieben).
        Jedesmal wenn der Kunde Support wünscht, die DB plattmachen d.h. cold copy (leer) wieder an den Ursprungsort kopieren, und neuen KundenDump importieren.

        Damit fuchst man sich schnell ein und ich denke das ist die beste Lösung.

        Das mit dem Notepad habe ich schon kapiert, aber wie Du selber bemerkt hast funktioniert es nicht mehr, weiterhin denke ich das damit mehr Zeit drauf geht als mein vorgeschlagendes Verfahren. Wenn Du nun unbedingt dabei bleiben willst Dumps zu editieren versuche es mal mit einem anderen editor welcher z.bsp die Zeilenumbrüche nicht verändert.

        MfG Steve

        Comment

        Working...
        X