marieo
-
27 sept. 2013 à 17:11
eiramo
Messages postés4Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 1 octobre 2013
-
1 oct. 2013 à 17:35
J'ai un pb avec SQLLoader. En effet, dans mon fichier .ctl j'ai défini un point de commit toutes les 10.000 lignes mais lors du traitement du fichier à intégrer, le commit se fait toutes les lignes. Du coup, le traitement est très long car je travaille sur un fichier de 26 millions de lignes.
Auriez-vous une solution à me proposer pour améliorer les performances de mon utilisation de SQL Loader ?
La table Oracle de stockage ne contient ni clé primaire ni index activé...
Voici le fichier résultat de l'import avec SQL Loader
SQL*Loader: Release 10.2.0.1.0 - Production on Mar. Sept. 24 13:53:54 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Fichier de contrôle : Import2012_AtihMCO_07RSA.ctl Fichier de données : DonneesMCO\rsa12.txt Fichier BAD : FichiersLOG\BAD_rsa12.bad Fichier DISCARD : FichiersLOG\DSC_rsa12.dsc (Allouer tous les rebuts)
Nombre à charger : ALL Nombre à sauter: 0 Erreurs permises: 100000 Tableau de liens : 10000 lignes, maximum de 256000 octets Continuation : aucune spécification Chemin utilisé: Classique
Table GDS_FRANCE2012."Z_MCORSA_EPUR", chargé à partir de chaque enregistrement physique. Option d'insertion en vigueur pour cette table : TRUNCATE option TRAILING NULLCOLS effective
Nom de colonne Position Long. Séparat. Encadrem. Type de données ------------------------------ ---------- ----- ---- ---- --------------------- RSA_FINESS 1:9 9 ; O(") CHARACTER RSA_NUMRSA 13:22 10 ; O(") CHARACTER RSA_NBRUM 51:52 2 ; O(") CHARACTER RSA_NBAUTPGV 109:109 1 ; O(") CHARACTER RSA_NBRDTH 131:131 1 ; O(") CHARACTER RSA_NBDAS 215:218 4 ; O(") CHARACTER RSA_NBACT 219:223 5 ; O(") CHARACTER RSA_EPUR 224:2266100 ***** ; O(") CHARACTER La longueur de champ maximale est 2265877
la valeur utilisée pour le paramètre ROWS est passée de 10000 à 1
Table GDS_FRANCE2012."Z_MCORSA_EPUR" : Chargement réussi de 26658005 Lignes. 428 Lignes chargement impossible dû à des erreurs de données. 0 Lignes chargement impossible car échec de toutes les clauses WHEN. 0 Lignes chargement impossible car tous les champs étaient non renseignés.
Espace affecté au tableau de liens : 2266344 octets(1 lignes) Octets de tampon de lecture : 1048576
Nombre total d'enregistrements logiques ignorés : 0 Nombre total d'enregistrements logiques lus : 26658433 Nombre total d'enregistrements logiques rejetés : 428 Nombre total d'enregistrements logiques mis au rebut : 0
Le début de l'exécution a été effectué sur Mar. Sept. 24 13:53:54 2013 La fin de l'exécution a été effectuée sur Mer. Sept. 25 17:41:07 2013
Temps écoulé (ELAPSED) : 27:47:13.87 Temps processeur (CPU) : 03:19:18.89
eiramo
Messages postés4Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 1 octobre 2013 1 oct. 2013 à 17:35
Après lecture de la documentation SQL Loader, il apparait que l'information ROW n'est pas prise en compte lorsqu'il y a import vers un champ de type LOB.
Comme c'est le cas dans mon fichier, il me semble que cela explique pourquoi le commit se fait obligatoirement toutes les 1 lignes...