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 :

Création d'index sur base de prod


Sujet :

Administration Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut Création d'index sur base de prod
    Bonjour,

    Peut-on créer un index alors que les utilisateurs font des mises à jour sur la table cible ?

    Je suppose que cela peut engendrer des ralentissements. Des locks aussi ?

    Merci d'avance pour les réponses.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Oui, on peut.

    Pas de ralentissements. Pas de lock.

  3. #3
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Par défaut
    Citation Envoyé par korian Voir le message
    Oui, on peut.

    Pas de ralentissements. Pas de lock.
    A bon!!!

    Lorsqu'on créé un index en ligne dans un environnement OTLP, oracle fait un "lock" sur la table au début de la création de l'index et un "lock" de la table à la fin de cette création afin de "merger'' les clés d'index créées entre temps.

    Donc, si une transaction est active au moment de la création de l'index, la création de cet index va être bloquée jusqu'au moment où la transaction sur la table soit finie; puis c'est au tour de la création de l'index de faire un "lock" sur la table pour un petit moment avant de libérer ce "lock". Le même processus peut avoir lieu à la fin de la création de l'index lorsque celui-ci voudra finir son traitement par un dernier petit "lock" de la table.

    Le problème est que, avant la release 11g, toute autre transaction qui arrive sur la table et qui trouve que la création de l'index est en train d'attendre la fin d'une autre transaction sur cette table (transaction commencée avant le début-ou la fin- de la création de l'index), va être bloquée jusqu'à ce que le processus de la création de l'index acquière son "lock" et le libère.

    Ce problème a été néanmoins supprimé à partir de la release 11g.

    Le "lock" au début et à la fin de la création de l'index subsiste toujours si évidemment une transaction sur la table est active à ces deux moments précis; par contre, d'autres transactions sur la table ne seront plus bloquées par le blocage de l'index lui même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'index sur attribut booléen
    Par alex2746 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/05/2010, 14h08
  2. Réponses: 3
    Dernier message: 01/04/2009, 10h47
  3. Création d'index sur tables avec 400000 rows
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/07/2007, 13h53
  4. Requête création de table sur base mise en réseau
    Par boss dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/01/2007, 15h49
  5. Création d'index sur un TTable
    Par bencot dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/03/2005, 13h23

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