- que vous avez un répertoire /data/oracle/dump appartenant au user oracle
- que votre SID Oracle est : ORASID
- que votre user oracle est : orauser (le user à qui appartiennent les tables et données que vous voulez backuper et avec lequel vous allez effectuer votre backup)
On commence par déclarer dans Oracle le répertoire d'export (/data/oracle/dump). Cette manipulation ce fait avec le user "system" de votre instance Oracle :
$ sqlplus system/password@ORASID
SQL>CREATE DIRECTORY dmpdir AS '/data/oracle/dump/ORASID';
Directory created.
SQL> GRANT read, write ON DIRECTORY dmpdir TO scott;
Grant succeeded.
Enfin on vérifie la déclaration de ce répertoire:
SQL> SELECT directory_path FROM dba_directories WHERE directory_name = 'DMPDIR';
DIRECTORY_PATH
--------------------------------------------------------------------------------
/data/oracle/dump/ORASID
Passons maintenant à l'export à proprement parler.
Nous allons lancer un backup qui exportera les données et la sctructure des données appartenant à l'utilisateur orauser. Le fichier d'export sera orauser.dmp et sera stocké dans /data/oracle/dump/ORASID:
$ expdp orauser/password@ORASID DIRECTORY=dmpdir DUMPFILE=orauser.dmp
Maintenant que nous avons notre export, passons à l'import. L'import se fera avec le user "system" de votre instance Oracle.
Ce premier exemple montre un import vers le même utilisateur sans tables:
$ impdp system/password@ORASID DIRECTORY=dmpdir DUMPFILE=orauser.dmp
Ce deuxième exemple vous montre comment importer alors que les tables existent déjà dans votre schéma:
$ impdp system/password@ORASID DIRECTORY=dmpdir DUMPFILE=orauser.dmp TABLE_EXISTS_ACTION=REPLACE
Ce troisième exemple vous montre comment importer vers un autre utilisateur que "orauser" (ex: "otheruser")
$ impdp system/password@ORASID DIRECTORY=dmpdir DUMPFILE=orauser.dmp REMAP_SCHEMA=orauser:otheruser
Et voilà ! Les options d'export et d'import sont nombreuses.
ATTENTION: le système d'export/import ne garantit pas la cohérence des données exportées/importées. Il vous permet juste à un instance "t" d'extraire les données de votre base de données. Pour une vraie gestion des sauvegardes Oracle, préférez l’utilisation de RMAN backup.
Mots clés : oracle