LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

L'import export

Cours : L'import export. Recherche parmi 300 000+ dissertations

Par   •  5 Décembre 2017  •  Cours  •  1 851 Mots (8 Pages)  •  983 Vues

Page 1 sur 8

TP6 Export Import

I./ Utilisation de IMP/EXP

Introduction  

L’outil EXPORT d’ORACLE permet d’extraire les données dans un format standard indépendant du système d'exploitation afin de pouvoir réimporter les données vers une autre base avec un système d’ exploitation différent mais avec une version au moins égale ou supérieure à la base de provenance..

Vous pouvez EXPORTER et IMPORTER à plusieurs niveaux :

  • FULL  : export de la base complète (y compris les schéma SYSTEM , SYSAUX etc... nécessite le privilège : EXP_FULL_DATABASE).  
  • USER : export de l’ensemble des objets propriétés d'un schéma (utilisateur) .
  • TABLE : exportation d’une ou plusieurs tables (ou d'une partition de table TABLE:Partition ) 


Attention EXPORT / IMPORT n’est pas un outil de sauvegarde, il ne prend que les données et pas les enveloppes et par ailleurs il ne prend pas les données des tablespaces en statut OFFLINE. Cet outil est intéressant sur les travaux de migrations et de transfert de données

  1. Utilisation de EXP

Export en mode FULL

  1. exp userid=system/manager full=yes file=fic_full.dmp log=fic_full.log buffer=400000
  2. exp parfile=par_file.txt

Avec le fichier par_file.txt contenant :

userid=system/manager

full=yes

file=fic_full.dmp

log=fic_full.log

buffer=400000

 Export en mode SCHEMA

exp userid=system/manager  owner=scott file=scott.dmp log=scott.log  

Export en mode TABLE

exp userid=system/manager  tables=scott.emp  file=scott_emp.dmp log=scott_emp.log 

Résultat : . . exporting table                            EMP         14 rows exported 

Pour exporter qu' une partie de la table , vous pouvez utiliser l'option query

exemple ,

vous allez importer les données en formation et vous ne voulez pas que les salariés avec un salaire >= 2500 : 

exp userid=system/manager  tables=scott.emp  query=" 'where sal < 2500' " file=scott_emp.dmp log=scott_emp.log 

Résultat : . . exporting table                            EMP         9 rows exported 

Vérification :

SQL> select count(*) from emp where sal >= 2500 ; 

 COUNT(*)
----------
     5

  1. Utilisation de IMP

Import d’un fichier dmp FULL

L' utilisateur scott a supprimé sa table emp , on va lui restauré à partir un export FULL fait la veille par exemple :

Commande export utilisée : 

exp userid=system/openmindx full=y file=full.dmp log=full.log

Lancement de la commande imp :  

 imp userid=system/openmindx file=full.dmp log=imp.log fromuser=scott touser=scott tables=emp

Cette commande va aussi reconstruire les indexes de la table EMP.

 

Import d'un schema

Import du schema scott dans le schema scott2 , par exemple :

imp system/manager file=scott.dmp fromuser=scott touser=scott2

idem a partir d un export FULL

 

Import d' une ou plusieurs table(s)

imp system/manager table=emp file=scott_emp.dmp log=imp_scott_emp.log

Aide en ligne :

exp -help  pour toutes les options de exp 

imp -help  pour toutes les options de imp

II ./ Utilisation de DataPump Export

Préparation pour utiliser Data Pump avec SCOTT 

Pour créer le schéma SCOTT et ses objets, utiliser le script :

sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/utlsampl.sql

Par défaut , ORACLE a créé un répertoire pour DATA DUMP

SQL> col DIRECTORY_NAME for a15
SQL> col DIRECTORY_PATH for a30
SQL> select directory_name, directory_path from dba_directories;

DIRECTORY_NAME    DIRECTORY_PATH
---------------                 ------------------------------
DATA_PUMP_DIR       /usr/lib/oracle/xe/app/oracle/admin/XE/dpdump/

SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR to SCOTT ;

Créer un nouveau répertoire DataPump :

oracle@lindan:~$ mkdir /home/DataPump
oracle@lindan:~$ chmod 777 /home/DataPump 
oracle@lindan:~$ sqlplus / as sysdba
create directory DATAPUMP as '/home/DataPump' ; 

 

Droit sur ce répertoire pour l 'utilisateur SCOTT

GRANT CREATE ANY DIRECTORY TO scott;

GRANT READ, WRITE ON DIRECTORY DATAPUMP TO scott;

ou si vous avez utilisez le répertoire par défaut  :

GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR to SCOTT ;

Utilisation de DataPump Export

La commande pour Data Pump Export est : expdp  

expdp scott/tiger tables=EMP directory=DATAPUMP dumpfile=EMP.dmp logfile=expdpEMP.log

ou

expdp scott/tiger tables=EMP directory=DATA_PUMP_DIR  dumpfile=EMP.dmp logfile=expdpEMP.log 

Si vous voulez suivre et intervenir votre export, il est conseillé de lui donner un nom par l ' option  job_name

expdp scott/tiger tables=EMP directory=DATA_PUMP_DIR  dumpfile=EMP2.dmp logfile=expdpEMP2.log job_name=ExpEmp ; 

expdp scott/tiger tables=EMP directory=DATAPUMP  dumpfile=EMP3.dmp logfile=expdpEMP3.log job_name=ExpEmp

 

Surveillance d 'un EXPDP ou IMPDP  

Pour voir l ' état d un import ou d' un export , utiliser la vue : dba_datapumps_jobs  ;

SQL> select job_name , state from dba_datapump_jobs ;

no rows selected

-- lancement du job dans une autre session avec job_name=ExpEmp 

--  expdp scott/tiger tables=EMP directory=DATAPUMP  \

-- dumpfile=EMP3.dmp logfile=expdpEMP3.log job_name=ExpEmp

Si on interroge la vue , le job va passer par les états : 

    DEFINING,

    EXECUTING ,

    COMPLETING ,

    NOT_RUNNING

    avant de se terminer (  no rows selected ) .

...

Télécharger au format  txt (12.7 Kb)   pdf (1 Mb)   docx (897.2 Kb)  
Voir 7 pages de plus »
Uniquement disponible sur LaDissertation.com