Oracle
 sql >> Database >  >> RDS >> Oracle

Come esportare lo schema del database in Oracle in un file dump

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

Prima di iniziare, si noti che Data Pump esporta nella "directory" Oracle lato server, che è una posizione simbolica Oracle mappata nel database in una posizione fisica. Potrebbe esserci una directory predefinita (DATA_PUMP_DIR), verifica tramite query DBA_DIRECTORIES:

  SQL> select * from dba_directories;

... e in caso contrario, creane 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 tu possa connetterti come utente SYSTEM o un altro DBA, puoi esportare qualsiasi schema in questo modo, nella directory predefinita:

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

Oppure specificando una directory specifica, aggiungi directory=<directory name> :

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

Con l'utilità di esportazione precedente, puoi esportare nella tua directory di lavoro e anche su un computer client remoto dal server, utilizzando:

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

Assicurati che l'esportazione venga eseguita nel set di caratteri corretto. 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 tal caso, dovrai 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ò farà sì che Oracle salti la conversione del set di caratteri.

Esempio per UTF8 americano (UNIX):

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Windows usa SET, ad esempio usando UTF8 giapponese:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

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