Tabelle bei IMP-Befehl in Oracle löschen

Hallo zusammen,

ich habe folgendes Problem. Ich möchte einen Oracle Dump, der zur Sicherung gemacht wurde eventuell automatisch (per Skript) wieder einspielen. Das funktioniert auch alles, jedoch überschreibt er die vorhandenen Tabellen nicht, das heißt, dass der Dump nicht komplett importiert wird. Wie sage ich also bei dem Import-Befehl, dass alle Tabellen und View überschrieben oder auch gelöscht werden? Ein manuelles löschen wäre sehr schlecht.

Grüße

André

Hallo,

geht (IMO) nicht ohne löschen - aber was spricht gegen ein

DROP USER ... CASCADE

vor dem Import?

Gruß, muzel

Hallo,

also ich würde es auch genauso machen.

DROP USER … CASCADE;

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Andre,

ich habe folgendes Problem. Ich möchte einen Oracle Dump, der
zur Sicherung gemacht wurde eventuell automatisch (per Skript)
wieder einspielen.

Nur eine kurze Randbemerkung: Export/Import als Sicherungskonzept halte ich zumindest für Produktivdatenbanken für problematisch. Ich empfehle dringend, sich mit dem RMAN vertraut zu machen!

Das funktioniert auch alles, jedoch
überschreibt er die vorhandenen Tabellen nicht, das heißt,
dass der Dump nicht komplett importiert wird. Wie sage ich
also bei dem Import-Befehl, dass alle Tabellen und View
überschrieben oder auch gelöscht werden? Ein manuelles löschen
wäre sehr schlecht.

Leider schreibst du nicht, welche Oracle Version du verwendest. Ab Version 10.1 gibt es die „data pump“ (impdp bzw. expdp). Die kennt den Parameter

TABLE\_EXISTS\_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}

Damit solltest du den gewünschten Effekt erzielen können. Achtung allerdings auf bestehende Constraints - wenn ein Foreign key nicht aufgeht werden die Daten nicht importiert (ebenso natürlich bei unique keys und check constraints) - und Triggers.

Falls du weitere Fragen zu hast, dann immer her damit!

Gruß
Martin

Vielen Dank für die Antworten,

das Sicherungskonzept ist nicht wirklich gut, ich weiß aber es soll schnell und ohne zusätzlichen finanziellen Aufwand geschehen. Ich habe es lösen können, indem Tabellen, die sich im Schema xy befinden in eine Datei geschrieben werden und dann wird diese Datei ausgelesen und die Tabellen werden gelöscht. Drop User hat nicht funktioniert, keine Ahnung warum.

Grüße

André