Vous êtes sur la page 1sur 23

SAUVEGARDES ET

RESTAURATIONS
(LES UTILITAIRES EXP ET IMP)

Copyright © Oracle Corporation, 2001. Tous droits réservés.


Export - Import
EXPORT et IMPORT sont des utilitaires de transfert de
données spécifiques à Oracle et utilisés de manière
symétrique : export extrait les données d'Oracle vers
un fichier externe et import réinjecte le contenu d'un
fichier d'export Oracle vers la base de données.
export et import fonctionnent en client/serveur, on peut
les effectuer localement à la machine ou sur une
machine cliente.
Remarque : il n'existe pas de clients export / import
pour tous les postes clients, cela dépend des versions
d'Oracle. On les effectuera alors sur un serveur (qui
peut être différent du serveur de données...)

8-2 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Utilité
D'une manière générale export et import
sont des utilitaires de transfert LOGIQUE
de données. Moyennant cela ils peuvent
être utilisés pour :
- l'archivage logique de la base
- le changement de version d'Oracle
(upgrade)
- les sauvegardes logiques
- le déplacement de données (d'une base
vers une autre, d'un schéma vers un autre)
- la réorganisation physique de la base
8-3 Copyright © Oracle Corporation, 2001. Tous droits réservés.
L’utilitaire Export
• Permet d’écrire les données d’une base Oracle à partir du prompt du
système d’exploitation selon un format .dmp reconnu par un serveur
Oracle.
• Export stocke les informations contenues dans les objets d’un schéma
d’une base de données.
• Avantage :
–choix sélectif des objets à exporter et donc protection et flexibilité
–offre une méthode simple pour transférer les données d’une base
vers une autre
• Inconvénient : ne remplace pas la procédure de BUCKUP qui tient
compte des différents composants d’une base de données.

8-4 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Format du fichier export

• Format oracle-binaire
• Ne peut pas être lu par un autre utilitaire à part celui d’Oracle : Import
• Autre solution : SQL LOADER : pour lire des données à partir d’autres
formats

8-5 Copyright © Oracle Corporation, 2001. Tous droits réservés.


PRIVILEGES ET ROLES NECESSAIRES

• ACTION Privilège ou rôle nécessaites


• Exporter son propre schéma CREATE SESSION
• Exporter d'autres schémas EXP_FULL_DATABASE
SYSDBA, et DBA
• Importer un objet du fichier DUMP IMP_FULL_DATABASE

8-6 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Les différents modes d'export et d'import
1) Niveau base de données complète

C'est le mode le plus complet, lors de ce type


d'exportation tous les objets de la base sont exportés à
l'exception de certains utilisateurs : SYS, ORDSYS,
CTXSYS, MDSYS et ORDPLUGINS. Par contre les
informations relatives aux structures de base de
données, telles que les définitions de tablespaces et de
segments de rollback, sont incluses. Lors de L'insertion
des données tout ces objets sont importés et créés dans
la base de destination : le paramètre FULL permet de
spécifier ce mode pour l'exportation et l'importation.

8-7 Copyright © Oracle Corporation, 2001. Tous droits réservés.


E.g: Export FULL des objets :

C:\> exp userid=system/manager01 file=c:\backup\export_full.dump


log=c:\control\export_full.log full=y rows=y

Dans ce exemple, on se connecte à la base en tant que SYSTEM


(userid=system/manager) et on exporte toute la base (full=y) avec
les données (rows=y). On sauvegarde la sortie dans le fichier de log
(log=c:\control\export_full.log).

Import de tous les schémas inclus dans le DUMP à titre d’exemple:

C:\> imp userid=system/manager file=c:\backup\export_full.dump


log=c:\control\export_full.log

8-8 Copyright © Oracle Corporation, 2001. Tous droits réservés.


2) Niveau utilisateur
Dans ce cas là, ce sont tous les objets appartenant à un utilisateur qui
sont exportés: tables, fonctions, synonymes, déclencheurs, liens de
bases de données… Le paramètre OWNER permet de désigner les
utilisateurs que l'on désire exporter et le paramètre FROMUSER désigne
quel est l'utilisateur à importer du fichier Dump (le paramètre TOUSER
nous indique quand à lui le schéma destinataire).

e.g: Export du schéma alpha:


C:\> exp userid=system/manager01 file=c:\backup\export_full.dump
log=c:\control\export_full.log owner=alpha

Import du schéma alpha dans le schéma beta


C:\> imp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log fromuser=alpha touser=beta

8-9 Copyright © Oracle Corporation, 2001. Tous droits réservés.


3) Niveau table
Lors de l'exportation de tables individuelles tous leurs objets associés
(index, contraintes, déclencheurs, privilèges …) sont écrits dans le fichier
DUMP. Lors de l'importation tout comme l'exportation les tables doivent
être nommées grâce au paramètre TABLES.

e.g: Export de la table agents de l'utilisateur alpha :


C:\> exp userid=system/manager01 file=c:\backup\export_full.dump
Log=c:\control\export_full.log tables=alpha.agents

Import de la table agents de l'utilisateur alpha dans beta :


C:\> imp userid=system/manager file=c:\backup\export_full.dump
log=c:\control\export_full.log fromuser=alpha
touser=beta tables=alpha.agents

8-10 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Parametres d’export

• BUFFER : nb max d’enregistrement dans un tableau d’extraction de


l’utilitaire Export (en octet).
– Elle suit la formule suivante :
• Nb de rows dans le tableau d’extraction * taille max row
– elle est proposée par défaut
– Si = 0 export sélectionne enregistrement par enregistrement
• COMPRESS (Y ou N): permet de garder les paramètres initiaux
d’extension d’espace alloué aux tables de la base de données. Le
système doit ajuster l’espace en fonction de ces extensions.
• COMPRESS = N : permet de garder les paramètres courants de
stockage

8-11 Copyright © Oracle Corporation, 2001. Tous droits réservés.


• CONSTRAINTS(Y ou N): permet de préciser si l’utilitaire doit exporter
ou non les contraintes appliquées sur les tables
• DIRECT (Y ou N):permet d’extraire les données directement sans
passer par la traduction SQL dans le buffer. Avantage : rapidité de
transfert
• FILE (par défaut .dmp) : permet de spécifier le nom du fichier
d’export.
• FULL (Y ou N) :Indique que mode d’export est intégral
• GRANTS : (Y ou N) : indique si l’utilitaire doit exporter les privilèges ou
non
• INDEXES (Y ou N) : indique si on veut ou non exporter les index
• LOG: permet de spécifier le nom du fichier qui permet de stocker les
messages d’export.
–Exemple : exp system/manager LOG=export.log
• OWNER : permet d’indiquer le(s) utilisateurs propriétaire(s) des objets
à exporter
• ROWS: (Y ou N) : permet d’exporter ou non les enregistrements d’une
base
8-12 Copyright © Oracle Corporation, 2001. Tous droits réservés.
Méthode 1 :Export en mode interactif

• Principe : lancer l’utilitaire exp à partir de l’invité de commande et


préciser les valeurs des paramètres en intéractif.
• Inconvénient :
– traitement exige la présence de l’administrateur
– Le lancement est manuel
• Syntaxe : exp user/mp@service
• Ou service le le nom de l’instance de la base de données.

8-13 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Méthode 2 : export avec un fichier de
paramètre
• Principe : indiquer le choix des paramètres de l’opération d’export
dans un fichier .par
• Avantage : la présence de l’administrateur n’est pas obligatoire
• Inconvénient : lancement manuel

E.g: Syntaxe : exp user/mp@service PARFILE= <nom fichier


paramètre>

8-14 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Fichier de paramètre
• PARFILE: indique le nom du fichier paramètres si l’export se fera avec
une reference à un fichier .par
–Exemple :
1) exp PARFILE=filename
2) expusername/passwordPARFILE=filename
• Syntaxe fichier paramètre :
– KEYWORD=value
– KEYWORD=(value)
– KEYWORD=(value1, value2, ...)
• Exemple d’un fichier paramètre :
– FULL=Y FILE=DBA.DMP
– GRANTS=Y
– INDEXES=Y
– COMPRESS=Y
– ROWS=Y
8-15 Copyright © Oracle Corporation, 2001. Tous droits réservés.
EXEMPLES
exp system/manager PARFILE =‘FILEEXP.PAR’

• FILEEXP.PAR contient :
– FULL=N FILE=DBA.DMP
– GRANTS=Y
– INDEXES=Y
– ROWS = N
– OWNER = ALPHA

8-16 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Méthode 3 : export sous forme de tâche
planifiée

• Principe : exécuter l’utilitaire d’export à partir d’un fichier


de commande configuré sous forme d’une tâche
planifiée par période
• Avantages :
– indépendance totale de l’utilisateur
– Possibilité d’avoir plusieurs copies (incrémentielles)
des données utilisateurs

8-17 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Export selon une condition (dépuis 8i)

• Principe: n'exporter qu'une partie de la table et non pas la totalité.


• Réalisation: l’option Query permet d’imposer une condition Where
dans la commande exp.
Exemple : exporter tous les employés ayant un salaire < 50000

exp system/MANAGER file=c:\exp_query.dmp tables=HR.EMPLOYEES


query= " where salary < 50000"

8-18 Copyright © Oracle Corporation, 2001. Tous droits réservés.


L’utilitaire Import
– Permet la lecture d’un fichier d’export.dmp
– Insère le contenu d’un fichier .dmp produit par
l’utilitaire Export au format Oracle binaire dans une base
de données Oracle
– Le chargement peut être :
• Partiel ou total
• dans un utilisateur appartenant à la même base ou à
une autre
• Avec sans privilège
• Avec ou sans données

8-19 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Les formes d’utilisation
imp username/password PARFILE=filename
– PARFILE permet de spécifier les paramètres types utilisés

– imp username/password <parameters>


• Permet de spécifier dynamiquement les paramètres d’import. Ceci est
utile si les paramètres changent d’une opération vers une autre

– imp username/password
• Permet de réaliser l’import en mode intéractif avec le système

– imp system/manager PARFILE=params.dat INDEXES=N


• Permet de réaliser l’import avec un fichier paramètre.INDEXES=N
impose la non prise en compte des index même si c’est spécifié dans
le fichier de paramètre

8-20 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Autres exemples
exemple de commande :
exp alpha/pwd grants=Y tables=(EMP,DEPT)

imp alpha/pwd file=/tmp/expalpha.dmp tables=emp,dept

imp alpha/pwd file=/tmp/expalpha.dmp commit=y ignore=y

remarque : le paramètre COMMIT=Y est très important


surtout pour des tables volumineuses. S'il n'est pas
spécifié il y aura juste un commit final, mais l'image avant
(les rollback segments) risquent fort d'être saturés avant le
terme de l'import...

Le paramètre ignore est nécessaire, si les tables EMP et


DEPT existent déjà dans le compte cible.
On obtient a l'écran :

8-21 Copyright © Oracle Corporation, 2001. Tous droits réservés.


on obtient a l'écran :

Import: Release 11.0.5.0.0 - Production on Fri Sep 10 14:0:2 2020


(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to: Oracle8 Enterprise Edition Release 11.0.5.0.0 -
Production PL/SQL Release 11.0.5.0.0 -
Production Export file created by EXPORT:V11.00.05 via
conventional path .
importing ALPHA's objects into ALPHA
. . importing table "EMP" 14 rows imported
. . importing table "DEPT" 4 rows imported
Import terminated successfully without warnings.

Imp admin file=monfichier.dmp fromuser=admin touser=admin


grant=n constraints=n tables=matable

8-22 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Note also Datapump

8-23 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Vous aimerez peut-être aussi