À partir d'Oracle 10g, vous pouvez utiliser la Data Pump clients en ligne de commande
expdb
et impdb
pour exporter/importer des données et/ou un schéma d'une BD à une autre. En fait, ces deux utilitaires de ligne de commande ne sont que des wrappers qui "utilisent les procédures fournies dans le package DBMS_DATAPUMP PL/SQL pour exécuter les commandes d'exportation et d'importation, en utilisant les paramètres entrés sur la ligne de commande." (cité de la documentation d'Oracle)
Compte tenu de vos besoins, vous devrez créer un répertoire puis générer un dump complet de votre base de données à l'aide de 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
Comme le dump est écrit en utilisant un format binaire, vous devrez utiliser l'utilitaire d'importation correspondant pour (ré)importer votre base de données. Remplacer essentiellement expdb
par impdb
dans la commande ci-dessus :
sh$ impdp [email protected] full=Y directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Pour un simple vidage de table, utilisez plutôt cette version :
sh$ expdp [email protected] tables=DEPT,EMP directory=DUMP_DIR dumpfile=db.dmp logfile=db.log
Comme vous l'avez remarqué, vous pouvez l'utiliser avec votre compte utilisateur standard, à condition d'avoir accès au répertoire donné (GRANT READ, WRITE ON DIRECTORY dump_dir TO sylvain;
).
Pour des explications détaillées sur l'utilisation, voir