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