mardi 12 avril 2011

Impdp (Import avec datapump)

Impdp est le pendant de pg_restore pour Oracle. L'outil d'import et l'outil d'export est regroupé pour Oracle sous le joli nom de datapump.

Pré-requis

Pour utiliser datapump, vous devez avoir un directory Oracle. Par défaut, le directory DATA_PUMP_DIR est utilisé, mais seuls les users administrateurs ont accès à ce répertoire.

Import full


Avec l'option FULL=y, impdp recharge la totalité du dump dans la base cible. Il faut avoir les droits IMP_FULL_DATABASE pour pouvoir effectuer cette commande.
impdp system/<password> DIRECTORY=expdp_dir DUMPFILE=<export_name> FULL=y LOGFILE=<log_name>

Import de schéma(s)


Vous pouvez décider de n'importer qu'un ou quelques schéma(s) d'une base. pour ce faire, il faut préciser le(s)quel(s) dans le paramètre SCHEMA. Le fichier dump utilisé peut être un dump full, un dump de schéma(s), un dump de table(s) ou un dump de tablespace(s). Vous pouvez spécifier plusieurs schémas en les séparant par des virgules.
impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=<export_name> SCHEMAS=<schema_name> LOGFILE=<log_name>

Import de table(s)


Comme vous l'aurez deviné, vous devrez utiliser le paramètre TABLES. Vous pouvez spécifier plusieurs tables en les séparant par des virgules.
impdp system/<password> DIRECTORY=expdp_dir DUMPFILE=<export_name> TABLES=<table_name> LOGFILE=<log_name>

Autres options utiles

L'option CONTENT={ALL | DATA_ONLY | METADATA_ONLY} permet de sélectionner un import des données seulement.
L'option REMAP_SCHEMA=old_schema:new_schema permet de faire un mapping pour importer les données d'un schéma dans un autre.

Pour aller plus loin

La documentation complète est disponible ici :
10gr2: http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/dp_import.htm#i1010670
11gr2: http://download.oracle.com/docs/cd/E11882_01/server.112/e16536/dp_import.htm#SUTIL903