Med utgångspunkt från Oracle 10g kan du använda datapumpen kommandoradsklienter
expdb
och impdb
att exportera/importera data och/eller schema från en DB till en annan. I själva verket är dessa två kommandoradsverktyg bara omslag som "använder procedurerna i DBMS_DATAPUMP PL/SQL-paketet för att utföra export- och importkommandon, med hjälp av parametrarna som anges på kommandoraden." (citat från Oracles dokumentation)
Med tanke på dina behov måste du skapa en katalog och sedan generera en fullständig dump av din databas med 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
Eftersom dumpen är skriven med något binärt format, måste du använda motsvarande importverktyg för att (åter)importera din DB. Ersätter i princip expdb
av impdb
i kommandot ovan:
sh$ impdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
För enkel tabelldumpning, använd den versionen istället:
sh$ expdp [email protected] tables=DEPT,EMP directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Som du har märkt kan du använda det med ditt standardanvändarkonto, förutsatt att du har tillgång till den givna katalogen (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain;
).
För detaljerade användningsförklaringar, se