2014-11-06 3 views

Antwort

16

Sie brauchen keine ausgefallene Netzwerkverbindung oder irgendetwas nur die expdp/impdp Befehle. Zuerst exportieren Sie das Schema, das Sie wollen:

expdp fromUser/fromPword schemas=sourceSchema directory=DUMPDIR dumpfile=dump.dmp logfile=explog.txt 

Tipp: stellen Sie sicher, dass der Benutzer die Möglichkeit, DUMPDIR zu schreiben hat oder was auch immer es ist, Sie nennen es

Dann das Schema neu importieren mit dem remap_schema Parameter:

impdp toUser/toPword directory=DUMPDIR dumpfile=dump.dmp logfile=implog.txt remap_schema=fromUser:toUser 

Wenn Sie wirklich das network_link Parameter verwenden möchten, dann empfehle die Lektüre ich this oder this (so dass Sie nicht eine dumpfile aus irgendeinem Grund schaffen).
Große Infos zu Ihrer Frage gefunden here auch.

+0

Das funktionierte für mich, obwohl ich einige Probleme mit Berechtigungen hatte, die ich schließlich löste, indem ich die Befehle mit einem sysdba-Login ausführte - die Schemas/remap_schema-Parameter sagen noch, was exportiert/importiert werden soll. Der Verzeichnisparameter kann weggelassen werden, wenn der Standard für Sie in Ordnung ist, siehe http://www.orafaq.com/wiki/Datapump#Create_database_directories. – Matthias

+0

@Matthias Nicht EXP/IMP als SYS. :) – mmmmmpie

0

Try this:

Copy schema into same database

I getestet und es funktionierte. aber Sie müssen einen öffentlichen Link wie in den Kommentaren erwähnt erstellen.

Wenn Sie eine .par-Datei erstellen, die Ihre Tablespaces neu abruft, können Sie sie wiederverwenden. Mit etwas Suche ersetzen natürlich.

O und nicht zu vergessen die transaform in der .par Datei zu setzen:

TRANSFORM=oid:n 

Ansonsten könnten Sie Fehlermeldungen erhalten.

Verwandte Themen