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

Oracle Discussion :

Désactiver, réactiver Index


Sujet :

Oracle

  1. #1
    Inactif  

    Homme Profil pro
    Freelance EURL / Business Intelligence ETL
    Inscrit en
    Avril 2005
    Messages
    5 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance EURL / Business Intelligence ETL
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2005
    Messages : 5 879
    Points : 26 155
    Points
    26 155
    Billets dans le blog
    3
    Par défaut Désactiver, réactiver Index
    Bonjour à tous,

    Travaillant avec un ETL, je suis dans la problématique : je fais des INSERT à gogo dans une table indexée (au début du traitement, cette table est vidée par truncate), avec un commit régulier, ce qui force (si j'ai bien compris, car je viens d'apprendre la notion d'index étant un peu débutant sous oracle ) à recalculer les index inutilement après chaque commit (et donc prendre un temps de traitement relativement long)

    Solution : désactiver l'index, faire mon INSERT massif, réactiver l'index (le recalculer) et après pouvoir continuer mon traitement.

    Obstacle : malgré des recherches assidues Google is your friend, j'ai l'impression que la commande "ALTER INDEX mon_index DISABLE" ne semble pas être reconnue.

    Question : Comment faire ? Je ne sais pas si la séquence
    ALTER INDEX mon_index UNUSABLE;
    INSERT INTO ma_table...;
    ALTER INDEX mon_index REBUILD;
    est correcte pour avoir une belle table remplie avec des millions de lignes bien indexées.

    Observation : Remerciements d'avance à tous !

  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
    Quelle est votre version ?
    EN 11, c'est jouable il me semble avoir lu (pas testé). Pas avant

  3. #3
    Inactif  

    Homme Profil pro
    Freelance EURL / Business Intelligence ETL
    Inscrit en
    Avril 2005
    Messages
    5 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance EURL / Business Intelligence ETL
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2005
    Messages : 5 879
    Points : 26 155
    Points
    26 155
    Billets dans le blog
    3
    Par défaut
    Version 10g. Bah déjà merci...

  4. #4
    cdu
    cdu est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 196
    Points : 222
    Points
    222
    Par défaut
    Bonjour,
    puisque tu as les droits pour modifier ton index, il est probable que tu es les droits pour supprimer et créer des index.
    une solution simple est donc de supprimer ton index avant ton truncate et de le recréer à la fin de ton etl.

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    UNUSABLE devrait également fonctionner mais attention, les sessions doivent avoir l'autorisation de travailler sur des tables contenants des indexes UNUSABLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM skip_unusable_indexes=true;
    ou alter session http://download.oracle.com/docs/cd/B...tparams199.htm

  6. #6
    Inactif  

    Homme Profil pro
    Freelance EURL / Business Intelligence ETL
    Inscrit en
    Avril 2005
    Messages
    5 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance EURL / Business Intelligence ETL
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2005
    Messages : 5 879
    Points : 26 155
    Points
    26 155
    Billets dans le blog
    3
    Par défaut
    Désolé de pas avoir fait suite, le temps m'en a pris...

    La solution utilisée est, effectivement puisque j'ai les droits, de faire DROP des index, Insert massif, et créer les index puis analyser. Après réflexion, c'est quand même bien plus simple que de vouloir activer et désactiver des index.

  7. #7
    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
    Citation Envoyé par Glutinus Voir le message
    Désolé de pas avoir fait suite, le temps m'en a pris...

    La solution utilisée est, effectivement puisque j'ai les droits, de faire DROP des index, Insert massif, et créer les index puis analyser. Après réflexion, c'est quand même bien plus simple que de vouloir activer et désactiver des index.
    sur des indexes de quelques Ko, oui, sur plusieurs Go, non !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par orafrance Voir le message
    UNUSABLE devrait également fonctionner mais attention, les sessions doivent avoir l'autorisation de travailler sur des tables contenants des indexes UNUSABLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM skip_unusable_indexes=true;
    Juste un petit complément:
    En fait skip_unusable_indexes devient un paramètre d'initialisation dans 10g et possède la valeur par défaut "true"

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

Discussions similaires

  1. Désactivation/réactivation des index
    Par fetano dans le forum Oracle
    Réponses: 0
    Dernier message: 25/08/2014, 02h17
  2. Désactivation des index et mysqldump
    Par ctobini dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/02/2008, 19h27
  3. Désactiver/Réactiver les workflows
    Par stephane eyskens dans le forum SharePoint
    Réponses: 4
    Dernier message: 20/04/2007, 16h00
  4. Désactiver des indexes
    Par panel dans le forum Oracle
    Réponses: 13
    Dernier message: 27/02/2007, 18h46
  5. [SQL/Contrainte] Comment désactiver-réactiver proprement ?
    Par SanTa62 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/01/2006, 10h57

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