2014-05-14 11 views

risposta

16

Dipende da quale versione di Oracle? Le versioni precedenti richiedono exp (export), le versioni più recenti utilizzano expdp (data pump); exp è stato deprecato ma funziona ancora la maggior parte del tempo.

Prima di iniziare, notare che Data Pump esporta nella "directory" Oracle Oracle lato server, che è una posizione simbolica Oracle mappata nel database in una posizione fisica. Ci può essere una directory predefinita (DATA_PUMP_DIR), controllare per DBA_DIRECTORIES interrogazione:

SQL> select * from dba_directories; 

... e se no, crearne uno

SQL> create directory DATA_PUMP_DIR as '/oracle/dumps'; 
    SQL> grant all on directory DATA_PUMP_DIR to myuser; -- DBAs dont need this grant 

Supponendo che si può collegare come utente SYSTEM, o di un altro DBA , è possibile esportare qualsiasi schema in questo modo, nella directory predefinita:

$ expdp system/manager schemas=user1 dumpfile=user1.dpdmp 

O specificare una directory specifica, aggiungere directory=<directory name>:

C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR 

Con l'utilità di esportazione più grande, è possibile esportare nella directory di lavoro, e anche su una macchina client che è remoto dal server, utilizzando:

$ exp system/manager owner=user1 file=user1.dmp 

Assicurarsi che l'esportazione è fatto nella corretta charset. Se non hai impostato il tuo ambiente, il set di caratteri del client Oracle potrebbe non corrispondere al set di caratteri DB e Oracle eseguirà la conversione del set di caratteri, che potrebbe non essere quello che desideri. Verrà visualizzato un avviso, in caso affermativo, quindi sarà necessario ripetere l'esportazione dopo aver impostato la variabile di ambiente NLS_LANG in modo che il set di caratteri del client corrisponda al set di caratteri del database. Ciò causerà la mancata conversione di charset da parte di Oracle.

Esempio per American UTF8 (UNIX):

$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 

Windows utilizza SET, ad esempio usando UTF8 giapponese:

C:\> set NLS_LANG=Japanese_Japan.AL32UTF8 

Maggiori informazioni Data Pump qui: http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624

+0

versione Oracle è 11.2 .0.2 –

+0

Utilizzare expdp quindi, a meno che non sia possibile accedere al server del database fisico, sarà necessario utilizzare exp. – codenheim

+0

Non riesco a modificare il server oracle o il server Linux come se fosse una macchina di produzione. Quindi penso che exp sia meglio !!! –

Problemi correlati