Question DATAPUMP en 11GR2
Bonjour.
Je suis sur 11GR2.
J'ai une table qui fait 3milliards de lignes que je dois historiser. Du coup, j'aimerai le faire via DATAPUMP. Les deux tables sont dans le même schéma, la table d'historisation porte le même nom avec "_histo".
Je vois deux options possible:
Soit je créé la table histo à l'identique, c'est à dire structure et partition, dans un tablespace particulier sous le même schéma et je n'exporte que les données. Par contre, ce que je ne sais pas c'est si l'option REMPA_TABLE est valable lorsque l'on n'a que les données.
Soit j'exporte la table et la ré-importe avec l'option REMAP_TABLE. Mais là, je ne sais pas s'il est possible de maitriser le tablespace cible pour la table d'historisation.
L'un de vous aurait-il la ou les réponses?
oracle data pump avec table volumineuse
Alors pour te répondre à la question concernant le tablespace :
- tu peux ajouter effectivement le fameux parametre remap_tablespace=t1:t2
( avec table source est dans t1, table d'historisation est dans t2) .
tu peux éviter d'éxécuter Data Pump ( un pour export et un pour import), et passer par
le SQLPlus :
- tu effectues un insert en mode direct path
Code:
1 2
|
insert /*+ append parallel(16) */ into xxx_histo select * from table_origine where col=xxxxx |
je pense que cette méthode est plus économique en , et surtout
n'oublie pas d'activer le parallélisme au niveau de ta session
Code:
alter session enable parallel dml
Bonne chance !
datapump param remap_table
Effectivement, tu peux utiliser dans le script les deux paramètres suivants
Code:
remap_tablespace, remap_table
,
attention il y a une petite subtilité voici un petit exemple
Code:
1 2 3 4
|
dumpfile=dir_objet:fic.dmp
remap_tablespace=tbs1:tbs2
remap_table=schema.t1:t2 |
le fic.dmp est l'export d'une table schema.t1 lancé à partir de l'utilisateur system
le dir_objet est un objet reprtoire de la base contenant le fichier fic.dmp
et enfin penser à préfixer la table source schema.t1 et ne pas préfixer la table t2
Voilà
Par contre au niveau SQLPlus, fais un test et active en même temps le parallelisme à DOP élévé !