IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Partitionner des tables pendant l'import


Sujet :

Administration Oracle

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2006
    Messages : 142
    Points : 130
    Points
    130
    Par défaut Partitionner des tables pendant l'import
    Bonjour,

    nous voulons partitionner une partie de nos tables, dont les plus volumineuses (dont une à 20 M lignes), en profitant de la migration de 8i vers 9i (oui, le client a un peu de retard...).
    Pour cela je crée les tables partitionnées sur la base cible, puis toutes les partitions, et enfin les index locaux et globaux de celles-ci.

    Ensuite j'ai fait l'import full avec IGNORE=Y pour que les lignes des tables partitionnées, qui ne l'étaient pas avant, soient placées dans les bonnes partitions.
    Résultat : sur une base d'environ 50 Go un import qui prenait environ 5/6 h a pris ce week-end ... 66 heures. Je pense que c'est dû au fait que l'insertion ne se fait plus en masse mais ligne par ligne pour choisir la bonne partition.
    Evidemment c'est un temps beaucoup trop long pour interrompre l'appli en prod.

    Je n'ai pas l'expérience d'une telle opération mais je pensais à 2 options :
    1) est-ce que les index sont mis à jour au fur et à mesure au cours de l'import ? Si oui cela doit le ralentir. Donc ne pas créer les index avant l'import, ne pas les importer et les créer seulement après.
    2) créer une seule partition par défaut sur les grosses tables, si cela permet de garder l'insertion de masse (?), puis faire des splits sur celle-ci pour créer les autres partitions. Ce sera plus long mais la base sera accessible et j'espère pas trop pénalisée pendant les splits.

    Que pensez-vous de ces solutions ? Ou y a-t-il un autre moyen ?

    Merci.
    La différence entre la théorie et la pratique, c'est qu'en théorie il n'y a pas de différence entre la théorie et la pratique. En pratique, si.

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    de 8 à 9, il n'y a pas beaucoup de choix malheureusement....

    Je doute que le split puisse se faire à chaud
    La création de l'index après peut faire gagner un peu de temps, mais attention au temp nécessaire et au temps de création qui peut être très long...

Discussions similaires

  1. Intraweb, visualisation des tables pendant le design de l'appli
    Par PhilLU dans le forum Composants VCL
    Réponses: 1
    Dernier message: 05/12/2013, 14h15
  2. Partitionnement des tables mysql
    Par devhercule dans le forum Administration
    Réponses: 2
    Dernier message: 28/12/2012, 15h02
  3. Partitionnement des tables
    Par raz2008 dans le forum SQL
    Réponses: 3
    Dernier message: 06/12/2012, 12h31
  4. interdir importation des tables et requêtes
    Par zian dans le forum Access
    Réponses: 1
    Dernier message: 17/09/2005, 15h23
  5. Partitionner des tables existantes
    Par zestrellita dans le forum Administration
    Réponses: 13
    Dernier message: 29/04/2004, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo