Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 06/12/2007, 16h45   #1
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
Par défaut Activer desactiver des index

bonjour,

je voudrais savoir comment activer et desactiver un index sous oracle sans le supprimer.

J'ai pensé à faire :
Alter Table
Modify department_id NUMBER(4) PRIMARY KEY DISABLE

Qu'est ce que vou sen pensez?

Merco d'avance
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 16h52   #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
explique nous le besoin STP... la solution dépendra de celui-ci... et la version d'Oracle
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h02   #3
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
Version d'oracle : 10

en fait j'ai une table avec deux index ( clé primaire et clé secondaire)

Cette table je l'utilise dans une procédure stockée. Je voudrais

1) - désactiver les index
2) - Inserer dans la table
3)- Réactiver les index

Voila c'est tout

Merci d'avance
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h06   #4
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
mais pourquoi désactiver les indexes, tu as bien conscience qu'à la réactivation ça va prendre du temps et que pendant l'insertion les mise à jour et sélection seront plus longues ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h13   #5
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
oui je sais
mais c'est ce qui est demandé.
As tu une solution?
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h16   #6
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
regarde du coté de UNUSABLE...
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h24   #7
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
je ne comprends pas l'utilisation de UNUSABLE
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h26   #8
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
ALTER INDEX MODIFY TABLE UNUSABLE
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h31   #9
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
en fait UNSABLE utilise les partitions

ALTER TABLE sales MODIFY PARTITION jan97
REBUILD UNUSABLE LOCAL INDEXES;

moi je n'utilisa pas de PARTITION
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 17h46   #10
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
la désactivation d'index n'est possible qu'à partir de la 11.

avant, il faut dropper/recréer ce qui n'est pas pareil ni aussi souple.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 18h06   #11
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
et comment on fait ça sur la 11???
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 20h54   #12
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
http://download.oracle.com/docs/cd/B...htm#SQLRF00805

Code :
ALTER INDEX ... disable
(non testé, purement théorique donc ! )
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 10h39   #13
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 54
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 54
Points : 11
Points : 11
voila à quoi j'ai pensé moi :

Code :
1
2
3
4
5
EXECUTE IMMEDIATE ('alter index TAB UNUSABLE');
EXECUTE IMMEDIATE ('ALTER SESSION SET SKIP_UNUSABLE_INDEXES = TRUE');
appel à la proc stockée
EXECUTE IMMEDIATE ('ALTER INDEX TAB REBUILD tablespace SVATEC_I');
EXECUTE IMMEDIATE ('ALTER SESSION SET SKIP_UNUSABLE_INDEXES = FALSE');
c.betty est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h22.


 
 
 
 
Partenaires

Hébergement Web