Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

LAMI DBA

Ici l'objectif est simple, faire diminuer la taille du dump et de la table cible.

Pour ce faire, il faut passer par la création d'un package, de préférence dans le schéma où se situe la ou les tables à exporter :

Dans cet exemple, vous pouvez bien sur modifier le nom du package et le schéma sur lequel le créer (dans cet exemple je suis sur le schéma SYS)

 

CREATE OR REPLACE PACKAGE REMAP AS
FUNCTION NULL_BLOB(col BLOB) RETURN BLOB;
END;
/

CREATE OR REPLACE PACKAGE body REMAP AS
FUNCTION NULL_BLOB(col BLOB) RETURN BLOB IS
BEGIN
RETURN NULL;
END;
END;
/

CREATE OR REPLACE PUBLIC SYNONYM SYS.REMAP FOR REMAP;

Il suffit ensuite d'exporter notre table avec le paramètre REMAP_DATA sur la table concernée ! 

Exemple :

expdp system/password SCHEMAS=MRS directory=data_pump_dir file=MRS.dmp log=MRS.log
REMAP_DATA=MRS.mytable.mycolumnLOB:REMAP.null_blob flashback_time=systimestamp

 

et le tour est joué ;-)

Published by Micka - - Datapump

commentaires

Guillaume 05/01/2016 17:11

Bonjour.
J'obtiens l'erreur ORA-22992: cannot use LOB locators selected from remote tables.
A noter que je passe par impdp et non par expdp ce qui m'évite de produire des dump files et donc de consommer du FS.
La clause REMAP_DATA est incompatible avec impdp ?
Merci d'avance.

Articles autour des SGBD Oracle, SQL Server & PostgreSQL

A propos de LAMI-DBA

Le Blog LAMI-DBA est la fusion de deux blogs existants, celui de LAurent (laodba) et celui de MIckael (dbafaq), deux DBA passionnés des sgbd, et particulièrement d'Oracle.

 

Laurent, 45 ans, Expert Oracle & MS SQL Server, Team Leader, dit "Le Taz", Certifié Expert RAC 11G, Exadata Implementation Specialist, OCA 11G, 

Profil Linkdin

 

 

 

Mickael, 35 ans, Expert Oracle, dit "Batman", Certifié Expert RAC 11G, OCP 11G, OCP 10G,

Profil Linkdin      

 

Hébergé par Overblog