Peter Pan: Oracle 9i der imp befehl

Hallo @all
Habe ein kleines problem mit dem imp befehl von einer Oracle 9i DB.

Ich mache über ein shell script ein full export einer Oracle Datenbank.
Kopiere das dmp file auf einen anderen Rechner und Importiere die Daten mit dem imp befehl.
Jetzt läuft der imp befehl aber nicht durch.
Er bricht ab weil die Tabellen schon vorhanden und mit Daten gefüllt sind.

Jetzt zu meiner eigendlichen frage.
Was macht der parameter destroy=yes?
Habe jetzt leider unterschiedliche aussagen gefunden.
Die einen sagen

<schnipp>
Vorsicht: In einem Full Export stehen Befehle zum Anlagen der Tablespaces inkl. der bereits erzeugten Dateien ("create tablespace" im Dump vorhanden). Beim Full Import wird dieser Befehl mit Parameter destroy=yes angewandt und falls die Dateien existieren, werden diese überschrieben.

Beim Full Export einer produktiven Datenbank und anschließendem Full Import in eine Testdatenbank auf dem gleichen Rechner wird mit destroy=yes die produktive Datenbank zerstört (Dateiname bleibt gleich).
<schnapp>

und der nächste warnt

<schnipp>
DESTROY = <Y/N> (DEAFULT: N)
Beschreibt, ob die ggf. vorhandene Datendateien durch den Import zerstört und die Tablespaces neu erzeugt werden sollen. Dieser Parameter greift nur bei einem Import mit Parameter

FULL=Y.

Empfehlung: Niemals DESTROY=YES benutzten!
<schnapp>

Hat jemand von euch da drausen diesen parameter schon genutzt?
Wenn ja seit Ihr auf probleme gestossen?

Danke im vor raus für jede hilfe
Peter Pan

  1. Hallo Peter,

    Jetzt zu meiner eigendlichen frage.
    Was macht der parameter destroy=yes?
    Habe jetzt leider unterschiedliche aussagen gefunden.

    Nein. Die beiden von Dir zitierten Aussagen sind identisch. DESTROY=Y bewirkt, dass die Datenbestände vor dem Einspielen gelöscht werden. Das dürfte IMHO genau das sein, was Du willst - wenn ich Dich richtig verstanden habe.

    Hat jemand von euch da drausen diesen parameter schon genutzt?

    Nein, ich war froh, dass ich imp überhaupt zum Laufen gebracht habe, bei mir war das immer irgendwie ein Krampf.

    Viele Grüße,
    Christian

    1. HAllo Christian

      Nein. Die beiden von Dir zitierten Aussagen sind identisch. DESTROY=Y bewirkt, dass die Datenbestände vor dem Einspielen gelöscht werden. Das dürfte IMHO genau das sein, was Du willst - wenn ich Dich richtig verstanden habe.

      Ja aber der eine sagt ja:

      Empfehlung: Niemals DESTROY=YES benutzten!

      Was meint er dann damit.
      Wenn ich den dump über imp einspielen möchte muss ich ja die tabellen löschen.

      Nein, ich war froh, dass ich imp überhaupt zum Laufen gebracht habe, bei mir war das immer irgendwie ein Krampf.

      Da hatte ich dann wohl glück mein imp befehl lief sofort.
      (Beim ersten mal).
      Dannach störte er sich daran das die Tabelle schon vorhanden waren.

      Danke für deine schnelle antwort
      Peter Pan

      1. Hallo Peter,

        Ja aber der eine sagt ja:

        Empfehlung: Niemals DESTROY=YES benutzten!
        Was meint er dann damit.

        Das will nur Menschen davor schützen, einen riesengroßen Fehler zu begehen und die DB komplett zu löschen, auch wenn sie es _nicht_ wollen. Du willst es aber. :)

        Wenn ich den dump über imp einspielen möchte muss ich ja die tabellen löschen.

        Eben. :)

        Viele Grüße,
        Christian

        1. Hallo Christian

          Danke für deine Hilfe

          Peter Pan