Vous êtes sur la page 1sur 13

Migration des données (Data Migration)

I. SQL*LOADER
SQL LOADER est un utilitaire de chargement en bloc utilisé pour déplacer des
données de fichiers externes vers la base de données Oracle.

Donc pour exécuter l’outil SQL*LOADER, nous avons besoins des fichiers
suivants :
- Fichier de données d’entrée : stocke des données délimitées ou des données
brutes(.csv, .dat, .txt)
- Fichier de contrôle (.ctl) : contient la spécification sur la façon dont les données seront
chargées (append, insert, truncate)
- Fichier de journal (.log) : résumé du traitement
- Bad file (.bad) : stocke les données non valides

Discarded and Rejected Records

Les enregistrements lus à partir du fichier d'entrée peuvent ne pas être insérés dans la base de
données. Ces enregistrements sont placés soit dans un ‘bad file’, soit dans un ‘rejected file’.

The Bad File


Le ‘bad file’ contient des enregistrements qui ont été rejetés, soit par SQL*Loader, soit par la
base de données Oracle. Si vous ne spécifiez pas de ‘bad file’ et qu'il existe des enregistrements
rejetés, SQL*Loader en crée automatiquement un. Il portera le même nom que le fichier de
données, avec une extension ‘.bad’. Certaines des raisons possibles de rejet sont abordées dans
les sections suivantes.
Les enregistrements du fichier de données sont rejetés par SQL*Loader lorsque le format
d'entrée n'est pas valide. Par exemple, si le deuxième délimiteur d'enceinte est manquant ou si

1
un champ délimité dépasse sa longueur maximale, SQL*Loader rejette l'enregistrement. Les
enregistrements rejetés sont placés dans le ‘bad file’.
Exemple 1 :
SQL> DROP TABLE EMP_LOAD;
SQL> CREATE TABLE EM_LOAD
(EMPNO NUMBER, FNAME VARCHAR2(100), LNAME VARCHAR2(100)) ;

SQL> SELECT * FROM EMP_LOAD ; -- combien d’enregistrement existe déjà


- Tout d’abord il faut créer le fichier qui contient les enregistrements à importer dans
un emplacement comme : ‘C:\load\emp.csv’.
- Pour déplacer les données à partir de ce fichier vers la table EMP_LOAD en utilisant
SQL LOADER, on a besoins de créer un fichier de contrôle ‘*.ctl’ (par exemple emp.ctl)
- Puis on va exécuter la commande :
(cmd) sqlldr control=C:\load\emp.ctl log=C:\load\emp.log
- Username : hr/4321@orclpdb
SQL> SELECT * FROM EMP_LOAD ;
- Lire le fichier log pour voir s’il y a des erreurs
- Maintenant essayer de modifier quelques lignes (par exemple changer des lignes de
EMPNO par des chaines de caractères) dans le fichier à uploader pour générer des
erreurs dans le fichier de log et refaire l’opération de load.
Remarque :
Le fichier de contrôle : emp.ctl
load data
INFILE 'C:\load\emp.csv'
APPEND – pour ajouter au contenu de la table
--TRUNCATE – pour supprimer le contenu et insérer les lignes
-- INSERT – si la table est vide
INTO table emp_load
FIELDS TERMINATED BY ','
(empno,
fname,
lname
)

APPEND

Si des données existent déjà dans la table, SQL*Loader y ajoute les nouvelles lignes. Si les
données n'existent pas encore, les nouvelles lignes sont simplement chargées. Vous devez
disposer du privilège SELECT pour utiliser l'option APPEND.

REPLACE

L'option REPLACE exécute une instruction SQL DELETE FROM TABLE. Toutes les lignes
de la table sont supprimées et les nouvelles données sont chargées. La table doit figurer dans
votre schéma, ou vous devez disposer du privilège DELETE sur la table..

2
TRUNCATE

L'option TRUNCATE exécute une instruction SQL TRUNCATE TABLE nom_table REUSE
STORAGE, ce qui signifie que les extents de la table seront réutilisés. L'option TRUNCATE
supprime rapidement et efficacement toutes les lignes d'une table, afin d'obtenir les meilleures
performances possibles. Pour que l'instruction TRUNCATE fonctionne, les contraintes
d'intégrité référentielle de la table doivent d'abord être désactivées. Si elles n'ont pas été
désactivées, SQL*Loader renvoie une erreur.
INSERT

Insérer permet aux enregistrements d'entrer dans la table uniquement si celle-là est vide.
II. Chargement des Tables Externes (External Table Loads)
Les tables externes sont définies comme des tables qui ne résident pas dans la base
de données, et peuvent être dans n'importe quel format pour lequel un pilote
d'accès est fourni. La base de données Oracle fournit deux pilotes d'accès :
ORACLE_LOADER et ORACLE_DATAPUMP. En fournissant à la base de
données des métadonnées décrivant une table externe, la base de données est
capable d'exposer les données de la table externe comme s'il s'agissait de données
résidant dans une table de base de données ordinaire.
D’une autre façon, les tables externes sont des tables dont les méta données
(structures) dans la base de données, mais dont les données sont hors de la BDD.
Nous pouvons accéder aux données des tables externes par deux méthodes :
Oracle_loader ou oracle_datapump
Un chargement de table externe crée une table externe pour les données contenues
dans un fichier de données. Le chargement exécute des instructions INSERT pour
insérer les données du fichier de données dans la table cible.
Exemple 2 :
Ouvrir SQLPLUS
User-name: sys as sysdba
Mot de passe:4321
SQL> show con_name; -- le conteneur courant
SQL> alter session set container=orclpdb; --
SQL> grant create any DIRECTORY to hr; -- donner ce privilège à l’utilisateur
hr
SQL> CREATE OR REPLACE DIRECTORY EMP_DIR AS ‘C:\external’; --
même si hr --qui a créé le DIRECTORY, il sera attribué à l’admin ( seul admin
qui peut créer ---des ‘directories’.

3
SQL> SELECT * FROM ALL_DIRECTORIES WHERE
DIRECTORY_NAME=’EMP_DIR’;
SQL> drop table EMP_LOAD_EXT;
SQL> CREATE TABLE EMP_LOAD_EXT
(EMPLOYEE_NUMBER NUMBER,
FNAME VARCHAR2(40),
LNAME VARCHAR2(40)
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER -- or ORACLE_DATA_PUMP
DEFAULT DIRECTORY EMP_DIR
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ‘,’
)
LOCATION (‘old_emp_data.csv’)
)
Reject limit unlimited; -- ignore toutes les erreurs dans le fichier
--Si on fait : reject limit 4; veut dire si les erreurs dépasse 4 affiche erreur

SQL> SELECT * FROM EMP_LOAD_EXT; -- ? il ramène les ligne à partir du fichier


‘old_emp_data.csv’

SQL> DELETE EMP_LOAD_EXT; -- DML non supporté sur les tables externes organisées

--ajouter des enregistrements dans le fichier, puis directement faites un select que remarquez-
vous ?
SQL> SELECT * FROM EMP_LOAD_EXT;

III. ORACLE DATA PUMP


Il y’a deux méthodes :
La méthode 1 permet de faire un backup d’une table et en même temps on lit à partir de cette
table :
SQL> DROP TABLE EMP_PUMP;
SQL> CREATE TABLE EMP_PUMP
(EMPLOYEE_NUMBER,
FNAME,
LNAME
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY EMP_DIR
LOCATION (‘EMP.dmp’) -- ou bien .exp c’est le backup
)
AS
SQL> SELECT EMPLOYEE_ID, FIRST_NAME,LAST_NAME FROM
EMPLOYEES;

4
SQL> SELECT * FROM EMP_PUMP;

La méthode 2 permet de lire à partir d’un fichier de backup :


--lire à partir d’un fichier de dmp
SQL> DROP EMP_PUMP_READ

SQL> CREATE TABLE EMP_PUMP_READ


(EMPLOYEE_NUMBER NUMBER,
FNAME VARCHAR2(40),
LNAME VARCHAR2(40)
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY EMP_DIR
LOCATION (‘EMP.dmp’) –le backup est déjà près
);

Choisir des tables externes par rapport à SQL*Loader


L'analyse des enregistrements des tables externes et de SQL*Loader est très similaire,
il n'y a donc normalement pas de différence de performances majeure pour le même
format d'enregistrement. Cependant, en raison de l'architecture différente des tables
externes et de SQL*Loader, il existe des situations dans lesquelles une méthode peut
être plus appropriée qu'une autre.
Utilisez des tables externes pour optimiser les performances de chargement dans les
situations suivantes :
• Vous souhaitez transformer les données au fur et à mesure de leur chargement dans la base
de données
• Vous souhaitez utiliser un traitement parallèle transparent sans avoir à fractionner les
données externes au préalable
Utilisez SQL*Loader pour obtenir les meilleures performances de chargement dans les
situations suivantes :
• Vous souhaitez charger des données à distance
• Les transformations ne sont pas nécessaires sur les données, et les données n'ont pas besoin
d'être chargées en parallèle
• Vous souhaitez charger des données et une indexation supplémentaire de la table
intermédiaire est requise

IV. Oracle DATAPUMP EXPORT

1. What Is Oracle Data Pump Export?


2. Interfaces d'exportation Oracle Data Pump
3. Modes d'exportation d'Oracle Data Pump

L’export propose différents modes pour décharger différentes parties des données de
la base de données Oracle.
Spécifiez les modes d'exportation sur la ligne de commande, en utilisant le paramètre
approprié :

5
Mode complet (Full Mode) :
Vous pouvez utiliser Data Pump pour effectuer une exportation complète de la base
de données en utilisant le paramètre FULL.
> expdp user_name FULL=y DUMPFILE=expdat.dmp DIRECTORY=data_pump_dir
TRANSPORTABLE=always VERSION=12.0 LOGFILE=export.log

Mode Schéma (Schema Mode) :


Vous pouvez spécifier une exportation de schéma avec Data Pump en utilisant le
paramètre SCHEMAS. L'exportation de schéma est le mode d'exportation par défaut.

Mode Table (Table Mode) :


Vous pouvez utiliser Data Pump pour effectuer une exportation en mode table en
spécifiant la table à l'aide du paramètre TABLES.
Exemples :
>expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp
NOLOGFILE=YES

Estimating Disk Space Needed in a Table-Mode Export

> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=YES TABLES=employees,


departments, locations LOGFILE=estimate.log

Performing a Schema Mode Export

> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log

Parallel Full Export

> expdp hr FULL=YES DUMPFILE=dpump_dir1:full1%U.dmp, dpump_dir2:full2%U.dmp


FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expfull.log JOB_NAME=expfull

Mode Tablespace :
Vous pouvez utiliser Data Pump pour effectuer une exportation en mode tablespace
en spécifiant les tables à l'aide du paramètre TABLESPACES.

Mode Tablespace transportable (Transportable Tablespace Mode) :


Vous pouvez utiliser Oracle Data Pump pour effectuer une exportation de tablespace
transportable en utilisant le paramètre TRANSPORT_TABLESPACES.

V. Oracle Data Pump Import

6
Avec Oracle Data Pump Import, vous pouvez charger un ensemble de fichiers dump d'export
dans une base de données cible, ou charger une base de données cible directement à partir d'une
base de données source sans fichiers intermédiaires.
1.1. What Is Oracle Data Pump Import?
Oracle Data Pump Import est un utilitaire permettant de charger un ensemble de fichiers
dump d'export Oracle dans un système cible.

Un jeu de fichiers dump d'export est constitué d'un ou de plusieurs fichiers disque contenant
des données de table, des métadonnées des objets de base de données et des informations de
contrôle. Les fichiers sont écrits dans un format binaire propriétaire. Au cours d'une opération
d'importation Oracle Data Pump, l'utilitaire d'importation utilise ces fichiers pour localiser
chaque objet de base de données dans le jeu de fichiers de vidage.

Vous pouvez également utiliser l’import pour charger une base de données cible directement à
partir d'une base de données source, sans fichiers dump intermédiaires. Ce type d'importation
est appelé importation en réseau.

L'import vous permet de spécifier si un travail doit déplacer un sous-ensemble de données et de


métadonnées à partir du jeu de fichiers dump ou de la base de données source (dans le cas d'une
importation en réseau), comme déterminé par le mode d'importation. Pour ce faire, vous pouvez
utiliser des filtres de données et des filtres de métadonnées, qui sont mis en œuvre par le biais
des commandes d'import.
1.2. Starting Oracle Data Pump Import
Lancez l'utilitaire Oracle Data Pump Import à l'aide de la commande impdp.

Les caractéristiques de l'opération d'import sont déterminées par les paramètres d'import que
vous spécifiez. Ces paramètres peuvent être spécifiés soit sur la ligne de commande, soit dans
un fichier de paramètres.

Remarque :
Ø il ne faut pas lancer l'importation en tant que SYSDBA, sauf à la demande du support technique
d'Oracle. SYSDBA est utilisé en interne et dispose de fonctions spécialisées ; son
comportement n'est pas le même que celui des utilisateurs généraux.
Ø Sachez que si vous effectuez une importation Data Pump dans une table ou un tablespace créé
avec la clause NOLOGGING activée, un fichier redo log peut toujours être généré. Le fichier
redo généré dans ce cas est généralement destiné à la maintenance de la table de contrôle
Data Pump, ou lié aux transactions récursives sous-jacentes, aux modifications du dictionnaire
de données et à la maintenance des index pour les index de la table qui nécessitent une
journalisation.
Ø Si la version du fuseau horaire utilisée par la base de données d'exportation est plus ancienne
que celle utilisée par la base de données d'importation, le chargement des colonnes avec le
type de données TIMESTAMP WITH TIMEZONE prend plus de temps qu'il n'en faudrait. Ce
temps supplémentaire est dû au fait que la base de données doit vérifier si les nouvelles règles
de fuseau horaire modifient les valeurs chargées.

1.3. Oracle Data Pump Import Modes


Le mode d'importation que vous utilisez pour Oracle Data Pump détermine ce qui est importé.
Mode d'import complète (Full Import Mode) :
Pour spécifier une importation complète avec Oracle Data Pump, utilisez le paramètre FULL.
Mode schéma (Schema Mode) :

7
Pour spécifier une importation de schéma avec Oracle Data Pump, utilisez le paramètre
SCHEMAS.
Mode table (Table Mode)
Pour spécifier une importation en mode table avec Oracle Data Pump, utilisez le paramètre
TABLES.
impdp hr@orclpdb DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees
Tablespace Mode (Tablespace Mode)
Pour spécifier une importation en mode tablespace avec Oracle Data Pump, utilisez le
paramètre TABLESPACES.
Mode Tablespace transportable (Transportable tablespace Mode)
Pour spécifier une importation en mode tablespace transportable avec Oracle Data Pump,
utilisez le paramètre TRANSPORT_TABLESPACES.

1.4. About Oracle Data Pump Import Modes


FULL IMPORT MODE

Dumpfile
You can supply multiple file_name specifications as a comma-delimited list, or in
separate DUMPFILE parameter specifications. If no extension is given for the file name,
then Export uses the default file extension of .dmp. The file names can contain a
substitution variable. The following table lists the available substitution variables.

Substitution Variable Meaning

%U The substitution variable is expanded in the resulting file names into a 2-


digit, fixed-width, incrementing integer that starts at 01 and ends at 99. If
a file specification contains two substitution variables, then both are
incremented at the same time. For example, exp%Uaa%U.dmp resolves
to exp01aa01.dmp, exp02aa02.dmp, and so forth.

%d, %D Specifies the current day of the month from the Gregorian calendar in
format DD.

Note: This substitution variable cannot be used in an import file name.

%m, %M Specifies the month in the Gregorian calendar in format MM.

Note: This substitution variable cannot be used in an import file name.

%t, %T Specifies the year, month, and day in the Gregorian calendar in this
format: YYYYMMDD.

Note: This substitution variable cannot be used in an import file name.

%l, %L Specifies a system-generated unique file name.

8
Substitution Variable Meaning

The file names can contain a substitution variable (%L), which implies that
multiple files can be generated. The substitution variable is expanded in
the resulting file names into a 2-digit, fixed-width, incrementing integer
starting at 01 and ending at 99 which is the same as (%U). In addition, the
substitution variable is expanded in the resulting file names into a 3-digit
to 10-digit, variable-width, incrementing integers starting at 100 and
ending at 2147483646. The width field is determined by the number of
digits in the integer.

For example if the current integer is 1, then exp%Laa%L.dmp resolves to:

exp01aa01.dmp

exp02aa02.dmp

and so forth, up until 99. Then, the next file name has 3 digits
substituted:

exp100aa100.dmp

exp101aa101.dmp

and so forth, up until 999, where the next file has 4 digits substituted.
The substitutions continue up to the largest number substitution
allowed, which is 2147483646.

%y, %Y Specifies the year in this format: YYYY.


Note: This substitution variable cannot be used in an import file name.

-------------------------------------------------------------------------------------------------------
Pour plus de détailles
-------------------------------------------------------------------------------------------------------

Oracle data pump export

9
1. Full Mode :
Vous pouvez utiliser Data Pump pour effectuer une exportation complète de la base
de données en utilisant le paramètre FULL.
Lors d'une exportation de base de données complète, la base de données entière est
déchargée. Ce mode nécessite que vous ayez le rôle
DATAPUMP_EXP_FULL_DATABASE.

Si vous spécifiez le paramètre TRANSPORTABLE=ALWAYS avec le paramètre FULL,


Data Pump effectue une exportation transportable complète. Une exportation
transportable complète exporte tous les objets et toutes les données nécessaires pour
créer une copie complète de la base de données. Une combinaison de méthodes de
déplacement des données est utilisée :

§ Les objets résidant dans des tablespaces transportables n'ont que leurs
métadonnées déchargées dans le jeu de fichiers de vidage (dump file set) ; les
données elles-mêmes sont déplacées lorsque vous copiez les fichiers de
données dans la base de données cible. Les données elles-mêmes sont
déplacées lorsque vous copiez les fichiers de données dans la base de données
cible. Les fichiers de données qui doivent être copiés sont répertoriés à la fin du
fichier journal (log file) de l'opération d'exportation.

§ Les objets résidant dans des tablespaces non transportables (par exemple,
SYSTEM et SYSAUX) voient leurs métadonnées et leurs données déchargées
dans le jeu de fichiers de vidage (dump file set), à l'aide d'un déchargement par
chemin direct et de tables externes.

L'exécution d'une exportation transportable complète comporte les restrictions


suivantes :
§ L'utilisateur effectuant une exportation transportable complète doit disposer
du privilège DATAPUMP_EXP_FULL_DATABASE.
§ Le tablespace par défaut de l'utilisateur effectuant l'exportation ne doit pas
être défini comme l'un des tablespaces transportés.
§ Si la base de données exportée contient des tablespaces cryptés ou des tables
avec des colonnes cryptées (colonnes TDE (Transparent Data Encryption) ou
colonnes LOB SecureFiles), le paramètre ENCRYPTION_PASSWORD doit
également être fourni.
§ Les bases de données source et cible doivent se trouver sur des plates-formes
ayant le même type d'encodage si la base de données source contient des
tablespaces cryptés.
§ Si la plate-forme source et la plate-forme cible sont de nature différente, vous
devez convertir les données transportées pour qu'elles soient au format de la
plate-forme cible. Vous pouvez utiliser le package DBMS_FILE_TRANSFER ou la
commande RMAN CONVERT pour convertir les données.
§ Une exportation complète transportable n'est pas redémarrable.

§ Tous les objets avec stockage qui sont sélectionnés pour l'exportation doivent
avoir tous leurs segments de stockage soit entièrement dans des tablespaces

10
administratifs non transportables (SYSTEM/SYSAUX), soit entièrement dans des
tablespaces transportables définis par l'utilisateur. Le stockage d'un seul objet
ne peut pas chevaucher les deux types de tablespaces.

§ Lors du transport d'une base de données sur le réseau à l'aide de l'exportation


transportable complète, l'audit ne peut pas être activé pour les tables stockées
dans un tablespace administratif (tel que SYSTEM et SYSAUX) si les informations
de la piste d'audit sont elles-mêmes stockées dans un tablespace défini par
l'utilisateur.

§ Si les bases de données source et cible exécutent toutes deux Oracle Database
12c, pour effectuer une exportation transportable complète, le paramètre Data
Pump VERSION doit être défini sur au moins 12.0. ou le paramètre
d'initialisation de la base de données COMPATIBLE doit être défini sur au moins
12.0 ou une version ultérieure.

Les exportations transportables complètes sont prises en charge à partir d'une base
de données source exécutant la version 11.2.0.3. Pour ce faire, définissez le paramètre
VERSION de Data Pump sur au moins 12.0, comme indiqué dans l'exemple de syntaxe
suivant, où nom_utilisateur est l'utilisateur effectuant une exportation transportable
complète :
> expdp user_name FULL=y DUMPFILE=expdat.dmp DIRECTORY=data_pump_dir
TRANSPORTABLE=always VERSION=12.0 LOGFILE=export.log

2. Mode schéma
Vous pouvez spécifier une exportation de schéma avec Data Pump en utilisant le paramètre
SCHEMAS. L'exportation de schéma est le mode d'exportation par défaut.

Si vous avez le rôle DATAPUMP_EXP_FULL_DATABASE, vous pouvez spécifier une liste


de schémas, incluant éventuellement les définitions de schémas elles-mêmes ainsi que les
privilèges système accordés à ces schémas. Si vous n'avez pas le rôle
DATAPUMP_EXP_FULL_DATABASE, vous ne pouvez exporter que votre propre schéma.

Le schéma SYS ne peut pas être utilisé comme schéma source pour les tâches d'exportation.

Les références inter-schémas ne sont pas exportées à moins que le schéma référencé ne soit
également spécifié dans la liste des schémas à exporter. Par exemple, un déclencheur défini sur
une table dans l'un des schémas spécifiés, mais qui réside dans un schéma non explicitement
spécifié, n'est pas exporté. De même, les définitions de types externes dont dépendent les tables
des schémas spécifiés ne sont pas exportées. Dans ce cas, il est prévu que les définitions de type
existent déjà dans l'instance cible au moment de l'importation.

3. Mode Table

Vous pouvez utiliser Data Pump pour effectuer une exportation en mode table en spécifiant la
table à l'aide du paramètre TABLES.

11
En mode table, seul un ensemble spécifié de tables, de partitions et d'objets dépendants est
déchargé. Tout objet nécessaire à la création de la table, tel que le schéma propriétaire ou les
types de colonnes, doit déjà exister.

Si vous spécifiez le paramètre TRANSPORTABLE=ALWAYS avec le paramètre TABLES,


seules les métadonnées des objets sont déchargées. Pour déplacer les données réelles, vous
copiez les fichiers de données dans la base de données cible. Les délais d'exportation sont ainsi
plus courts. Si vous déplacez des fichiers de données entre des versions ou des plates-formes,
les fichiers de données doivent être traités par Oracle Recovery Manager (RMAN).

Vous devez avoir le rôle DATAPUMP_EXP_FULL_DATABASE pour spécifier des tables qui
ne font pas partie de votre propre schéma. Notez que les définitions de type pour les colonnes
ne sont pas exportées en mode table. Il est prévu que les définitions de type existent déjà dans
l'instance cible au moment de l'importation. De même, comme pour les exportations de
schémas, les références inter-schémas ne sont pas exportées.

Pour récupérer des tables et des partitions de table, vous pouvez également utiliser les
sauvegardes RMAN et la commande RMAN RECOVER TABLE. Au cours de ce processus,
RMAN crée (et éventuellement importe) un fichier de vidage d'exportation Data Pump qui
contient les objets récupérés. Reportez-vous à Oracle Database Backup and Recovery Guide
pour plus d'informations sur le transport de données entre plates-formes.

L'exécution d'une exportation en mode table présente les restrictions suivantes :

§ Lorsque vous utilisez le paramètre TRANSPORTABLE=ALWAYS avec le paramètre TABLES, le


paramètre ENCRYPTION_PASSWORD doit également être utilisé si la table exportée contient
des colonnes cryptées, qu'il s'agisse de colonnes TDE (Transparent Data Encryption) ou de
colonnes LOB SecureFiles.
Exemples :
>expdp hr TABLES=employees,jobs DUMPFILE=dpump_dir1:table.dmp
NOLOGFILE=YES
Estimating Disk Space Needed in a Table-Mode Export
> expdp hr DIRECTORY=dpump_dir1 ESTIMATE_ONLY=YES TABLES=employees,
departments, locations LOGFILE=estimate.log
Performing a Schema Mode Export
> expdp hr DUMPFILE=dpump_dir1:expschema.dmp LOGFILE=dpump_dir1:expschema.log
Parallel Full Export
> expdp hr FULL=YES DUMPFILE=dpump_dir1:full1%U.dmp, dpump_dir2:full2%U.dmp
FILESIZE=2G PARALLEL=3 LOGFILE=dpump_dir1:expfull.log JOB_NAME=expfull

4. Mode Tablespace
Vous pouvez utiliser Data Pump pour effectuer une exportation de tablespace en spécifiant des
tables à l'aide du paramètre TABLESPACES.

En mode tablespace, seules les tables contenues dans un ensemble spécifié de tablespaces sont
déchargées. Si une table est déchargée, les objets qui en dépendent le sont également. Les

12
métadonnées et les données des objets sont déchargées. En mode tablespace, si une partie d'une
table réside dans l'ensemble spécifié, cette table et tous ses objets dépendants sont exportés. Les
utilisateurs privilégiés obtiennent toutes les tables. Les utilisateurs non privilégiés n'obtiennent
que les tables de leurs propres schémas.

5. Mode Tablespace transportable


Vous pouvez utiliser Oracle Data Pump pour effectuer une exportation de tablespace
transportable en utilisant le paramètre TRANSPORT_TABLESPACES.

En mode tablespace transportable, seules les métadonnées des tables (et de leurs objets
dépendants) dans un ensemble spécifié de tablespaces sont exportées. Les fichiers de données
des tablespaces sont copiés lors d'une opération distincte. Ensuite, une importation de
tablespace transportable est effectuée pour importer le fichier dump contenant les métadonnées
et pour spécifier les fichiers de données à utiliser.

Le mode tablespace transportable exige que les tables spécifiées soient complètement
autonomes. En d'autres termes, tous les segments de stockage de toutes les tables (et leurs index)
définis dans l'ensemble d'espaces de tables doivent également être contenus dans l'ensemble.
S'il existe des violations de l'autonomie, Export identifie tous les problèmes sans effectuer
l'exportation.

Les type de définition pour les colonnes des tables dans les tablespaces spécifiés sont exportées
et importées. Les schémas propriétaires de ces types doivent être présents dans l'instance cible.

Les exportations de tablespaces transportables ne peuvent pas être relancées une fois qu'elles
ont été arrêtées. De plus, elles ne peuvent pas avoir un degré de parallélisme supérieur à 1.

13

Vous aimerez peut-être aussi