L'import export
Cours : L'import export. Recherche parmi 300 000+ dissertationsPar Ayoub Lahyan • 5 Décembre 2017 • Cours • 1 851 Mots (8 Pages) • 986 Vues
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
- Utilisation de EXP
Export en mode FULL
- exp userid=system/manager full=yes file=fic_full.dmp log=fic_full.log buffer=400000
- 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
- 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 ) .
...