2014-11-06 16 views

risposta

16

Non è necessario un collegamento di rete di fantasia o qualsiasi cosa solo i comandi expdp/impdp. prima esportazione dello schema che si desidera:

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

Suggerimento: fare in modo che l'utente ha la possibilità di scrivere a DUMPDIR o qualunque cosa sia che si chiamano

Poi reimportare lo schema utilizzando il parametro remap_schema:

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

Se davvero si desidera utilizzare il parametro network_link (in modo da non creare un file di dump per qualche motivo), allora vi consiglio di leggere this o this.
Ottime informazioni sulla tua domanda si trovano anche here.

+0

Questo ha funzionato per me, anche se ho avuto qualche problema con le autorizzazioni che alla fine ho risolto eseguendo i comandi con un accesso sysdba - i parametri di schema/remap_schema indicano ancora cosa esportare/importare. Il parametro directory può essere omesso quando il valore predefinito è ok per te, vedi http://www.orafaq.com/wiki/Datapump#Create_database_directories. – Matthias

+0

@Matthias Non EXP/IMP come SYS. :) – mmmmmpie

0

Prova questo:

Copy schema into same database

ho provato ed ha funzionato. ma devi creare un link pubblico come menzionato nei commenti.

Se si crea un file .par che rimappa i tablespace, è possibile riutilizzarlo. Con qualche ricerca sostituirò ovviamente.

O e non dimenticate di mettere il transaform nel file .par:

TRANSFORM=oid:n 

In caso contrario si potrebbe ottenere gli errori.