COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
Contenu Import/Export SQL LOADER l’utilitaire DATA Pump 2 Karim LABIDI
Plusieurs méthodes Karim LABIDI 3 SQL LOADER est lent! Oracle 10g et supérieurs proposent un outil complémentaire Oracle DATA Pump qui est plus rapide
l’utilitaire DATA Pump Karim LABIDI 4 Data pump est un nouvel outil qui permet de charger ou décharger des données à grande vitesse. Il peut être appelé via le package PL/SQL, DBMS_DATAPUMP. Oracle 10g introduit des nouveaux outils : De nouvelles commandes pour Export et Import appelées respectivement EXPDP et IMPDP. Une interface Web d’Import et d’Export accessible à partir du Database Control.
l’utilitaire DATA Pump Karim LABIDI 5
Composants du DATA DUMP Karim LABIDI 6 Direct Path API (DPAPI) : Oracle 10g supporte une interface de chemin directe qui minimise la conversion et le processus des données au moment du chargement et du déchargement des données. Services des Tables Externes : DATA Pump utilise le nouveau Driver d’accès ORACLE_DATAPUMP qui fournit des accès en lecture et écriture aux tables externes à des fichiers qui contiennent des chaînes de caractères binaires. Le package DBMS_METADATA est utilisé par les processus d’exécution pour tout chargement ou déchargement des métas- données (CLOB, BLOB). Les définitions des objets de la base sont stockées en utilisant XML plutôt que SQL. Le package DBMS_DATAPUMP inclut l’API pour les fonctions d’Import et Export rapides
Composants du DATA DUMP Karim LABIDI 7 Le client SQL*LOADER a été intégré avec les tables externes et fournit la migration automatique des fichiers de contrôle du SQL*LOAD vers les paramètres d’accès aux tables externes. Les clients EXPDP et IMPDP sont des clients légers qui font appel au package DBMS_DATAPUMP pour initialiser et gérer les opérations du DATA Pump. Même s‘ils introduisent de nouvelles fonctionnalités, ils restent compatibles avec les clients import et export antérieurs qui sont toujours disponibles. Les applications comme Database Control, la réplication, les tablespaces transportables et les applications utilisateurs bénéficient de cette infrastructure. SQL*Plus peut aussi être utilisé comme un client du package DBMS_DATAPUMP pour des requêtes simples sur l’état des opérations en cours.
Opérations d’IMPORT et d’EXPORT du DATA Pump Karim LABIDI 8 L’import et l’export du DATA Pump sont de nouveaux outils propres à Oracle database 10G. Ce sont des outils différents des outils d’import et d’export classiques même si les commandes sont similaires. DATA Pump Export est un outil pour décharger des données et des métadonnées dans des fichiers du système d‘exploitation appelé fichiers de dump. DATA Pump import est utilisé pour charger des données et métadonnées qui sont stockées dans un fichier de dump vers une base cible.
Opérations d’IMPORT et d’EXPORT du DATA Pump Karim LABIDI 9 Le mode de chargement ou de déchargement des outils DATA Pump export et import, est spécifié sur la ligne de commande en utilisant le paramètre approprié. Les divers modes disponibles sont listés cidessous: ce sont les mêmes que ceux des utilitaires d’import et d’export des versions antérieures
Le mode intéractif du DATA Pump Karim LABIDI 10 DATA Pump peut s’exécuter en mode commande (sous dos ou sous unix) en utilisant les commandes expdp ou impdp, avec ou sans fichier de paramètre. DATA Pump peut s’exécuter également en interactif, ce qui permet de sortir de l’affichage écran du travail en cours qui continue en arrière plan. En tapant les touches, pendant l’exécution du DATA Pump, l’affichage à l’écran s’arrête, mais le travail continue en arrière plan.
Fichiers supportés par les outils DATA Pump Karim LABIDI 11 Il y a 3 types de fichiers gérés par les outils DATA Pump : Les fichiers de « dump » qui contiennent les données et les métadonnées à déplacer Les fichiers de « log » qui tracent les messages associés à chaque opération Les fichiers « SQL » qui enregistrent le résultat de chaque opération
Create DIRECTORY pour Export /Import Karim LABIDI 12 L'utilitaire d'EXPORT EXPDP et d'IMPORT IMPDP ont besoin d'un répertoire de destination et source pour écrire ou lire leur fichiers export/import, à partir de la 10G, on utilise un objet DIRECTORY. Exemple: sous SQPLUS on tappe création de la directory dir_DSI pour le DATAPump create [or replace] DIRECTORY dir_DSI as ‘D:\datapump\’ APPEL DE LA DIRECTORY DANS LE FICHIER DE PARAMETRES schemas = DSI directory = dir_DSI dumpfile = ExpdpCharly.dmp logfile = ExpCharly.log
Paramètres le l’export et de l’import DATA Pump Karim LABIDI 13 Ci-dessous sont présentés un ensemble de paramètres utilisés avec DATA Pump. Le type de données manipulées par DATA Pump sont : ALL : les données et les métadonnées DATA_ONLY : les données uniquement METADATA_ONLY : La définition des objets uniquement. La liste complète des paramètres est expliquée dans la documentation « Oracle Database Utilities ».
Privilèges Prérequis Karim LABIDI 14 Actions Privilège ou rôle nécessaire Exporter son propre schéma CREATE SESSION Exporter d'autres schémas SYSDBA, EXP_FULL_DATABASE et DBA Exporter la base entière ou tablespaces EXP_FULL_DATABASE Importer un objet du fichier DUMP IMP_FULL_DATABASE
Exemples : Import/Export Karim LABIDI 15 Importation de la structure d’une table uniquement : C:\>impdp system/pwd Table=DEPT directory=DBTEST_EXPORT dumpfile=DEPT.dmp logfile=IDEPT_SALG.log Content = Metadata_only Exportation des données d’un schéma : C:\>expdp system/pwd Schema=scott directory=DBTEST_EXPORT dumpfile=scott.dmp
Exemples : Import/Export Karim LABIDI 16 Importation d’une tablespace : C:\>impdp system/pwd tablespace=Tbs_DSI, Tbs_AA directory=DBTEST_EXPORT dumpfile=DEPT_SALG.dmp logfile=IDEPT_SALG.log Exportation de plusieurs tables du schéma scott : C:\>expdp system/pwd tables=scott.BONUS,scott.DEPT,scott.EMP,scott.SALGRADE directory=DBTEST_EXPORT dumpfile=10gDEPT_SALG.dmp