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

Come posso ricreare al meglio un database Oracle?

A partire da Oracle 10g, puoi utilizzare il Data Pump client della riga di comando expdb e impdb per esportare/importare dati e/o schemi da un DB all'altro. In effetti, queste due utilità della riga di comando sono solo dei wrapper che "utilizzano le procedure fornite nel pacchetto DBMS_DATAPUMP PL/SQL per eseguire comandi di esportazione e importazione, utilizzando i parametri inseriti nella riga di comando." (citato dalla documentazione di Oracle)

Date le tue esigenze, dovrai creare una directory quindi generare un dump completo del tuo database usando expdb :

SQL> CREATE OR REPLACE DIRECTORY dump_dir AS '/path/to/dump/folder/';
sh$ expdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Poiché il dump viene scritto utilizzando un formato binario, dovrai utilizzare l'utilità di importazione corrispondente per (re)importare il tuo DB. Sostituendo sostanzialmente expdb da impdb nel comando precedente:

sh$ impdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Per un semplice dump della tabella, usa invece quella versione:

sh$ expdp [email protected] tables=DEPT,EMP directory=DUMP_DIR dumpfile=db.dmp logfile=db.log

Come hai notato, puoi usarlo con il tuo account utente standard, a condizione che tu abbia accesso alla directory data (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain; ).

Per spiegazioni dettagliate sull'utilizzo, vedere