Impdp

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Import logique (Datapump)
Depuis Oracle 10g
Commande impdp
Voir aussi Expdp · Exp · SQLLoader · RMAN

impdp est l'outil d'import logique Datapump d'Oracle Database, pendant de Expdp à l'import. Il lit un fichier dump produit par expdp (ou compatible) pour recréer données et métadonnées, avec de nombreuses options de remappage (schéma, tablespace, datafiles).

Paramètres utiles

REMAP_DATAFILE=fichier_source:fichier_cible     -- renomme un fichier de données référencé dans le dump
REMAP_SCHEMA=schema_source:schema_cible          -- importe dans un schéma différent du schéma d'origine
REMAP_TABLESPACE=tablespace_source:tablespace_cible
SQLFILE=nom_fichier.sql                          -- n'importe rien, génère seulement le DDL équivalent
TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}
TRANSPORT_DATAFILES=fichiers                     -- emplacement des datafiles (import transportable)

Import sélectif

Exemple excluant les contraintes d'intégrité référentielle et restreignant les lignes importées :

impdp JOB_NAME=imp_schema_name SCHEMAS=schema_name REMAP_SCHEMA=schema_name:schema_cible REMAP_TABLESPACE=data:deftbs EXCLUDE=REF_CONSTRAINT QUERY=schema_cible.ma_table:"WHERE EXTRACT(YEAR FROM date_naissance) >= 1970" DIRECTORY=dir_pump DUMPFILE=exp-schema_name.dmp LOGFILE=imp-schema_name.log

Import standard

impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=file.dmp SCHEMAS=hr TRANSFORM=SEGMENT_ATTRIBUTES:n
impdp hr/hr DIRECTORY=dpump_dir1 DUMPFILE=file.dmp SCHEMAS=hr TRANSFORM=STORAGE:n
impdp \'/ as sysdba\' schemas=schema_source dumpfile=dev_full.dmp logfile=impdp.log directory=NFS content=metadata_only TRANSFORM=STORAGE:n
  • TRANSFORM=SEGMENT_ATTRIBUTES:n ignore les attributs de stockage physique d'origine (tablespace, taille d'extents...) au profit des valeurs par défaut de la cible.
  • TRANSFORM=STORAGE:n évite de préallouer l'espace de stockage déclaré dans le dump — utile pour ne pas sur-réserver de l'espace ASM sans l'utiliser réellement.
  • content=metadata_only importe uniquement la structure (DDL), sans les données.

Si des problèmes de format de date apparaissent à l'import, vérifier le paramètre NLS_LANG côté session (le faire correspondre à celui utilisé lors de l'export).

Gestion des jobs

Un import/export Datapump s'exécute comme un job serveur, consultable indépendamment de la session qui l'a lancé :

SELECT * FROM dba_datapump_jobs;

Reprendre la main sur un job en cours d'exécution (par exemple après une déconnexion du client) :

impdp \'/ as sysdba\' attach=SYS_IMPORT_SCHEMA_01

Puis, depuis l'invite Datapump interactive :

HELP        -- liste des commandes interactives
STATUS      -- état d'avancement du job
KILL_JOB    -- arrête et supprime le job

Voir aussi

  • Expdp — export Datapump (produit le fichier lu par impdp)
  • Exp — ancien outil d'import (imp), remplacé par impdp
  • SQLLoader — chargement de données depuis une source non Oracle (pas un fichier dump Datapump)
  • RMAN — sauvegarde physique, à ne pas confondre avec un import logique