Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2007, 10h13   #1
Membre à l'essai
 
Inscription : mars 2007
Messages : 59
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 59
Points : 24
Points : 24
Par défaut Transfert 100.000.000 de records.

Hello,

Je dois transférer une table qui contient environ 100.000.000 de records avec plus ou moins 6 colonnes vers une tables qui contiendra beaucoup plus de colonnes et moins de records en faisant une sorte de pivot.

Je suis sous Oracle 8i. Mon code d'insertion est fait de manière générique car le nombre de colonne est susceptible d'augmenter.

Y a-t-il une meilleure façon de procéder pour ce transfert, par exemple en rajoutant des commit intermédiaire tous les 10000 insertions ou encore en séparanten 4 blocs et en lancant les 4 process en même temps?
Ujitsu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 10h19   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
INSERT /*+ APPEND */ avec BULK dans du code PL/SQL pour committer toutes les 100 000 lignes par exemple. Il faut absolument éviter le code générique mais bon si tu n'as pas le choix

Eventuellement, désactive les triggers et contraintes de la table cible le temps du transfert et pense à agrandir le tablepace.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h03.


 
 
 
 
Partenaires

Hébergement Web