preload preload preload preload

Exports et Imports Oracle


Le vendredi 30 août 2013 par madpellzo Oracle Aucun commentaire
Comment effectuer simplement des exportation et des importation de données dans une base de données Oracle avec le data pump d'Oracle. On suppose, par exemple:
- 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.

Ensuite on donne les droits en écriture à votre user Oracle "orause" avec lequel vous allez exécuter votre export:

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