Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 07/11/2007, 14h46   #1
Membre confirmé
 
Inscription : mars 2007
Messages : 750
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 750
Points : 277
Points : 277
Par défaut Quand reconstruire les index?

Bonjour,

j'aurais souhaité savoir à quel moment il était utile de faire un rebuild d'un index.

merci d'avance pour vos réponses.

cdmt,
Ahmed
farenheiit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h01   #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
quand il est au status UNUSABLE, que la profondeur d'index est trop importante, qu'il y a eu beaucoup de mouvement dans la table... bref quand tu détectes des temps d'accés anormalement long aux datas de l'index ou qu'il est inutilisable
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h08   #3
Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 73
Points : 41
Points : 41
Citation:
Envoyé par orafrance Voir le message
quand il est au status UNUSABLE, que la profondeur d'index est trop importante, qu'il y a eu beaucoup de mouvement dans la table... bref quand tu détectes des temps d'accés anormalement long aux datas de l'index ou qu'il est inutilisable
Le pourcentage de feuille vide est aussi un indicateur .
jf4db est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h18   #4
Membre confirmé
 
Inscription : mars 2007
Messages : 750
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 750
Points : 277
Points : 277
et le statut N/A ça correspond à quoi?
Je vous donne un exemple j'ai ma table de fait de mon Datawarehouse (schéma en étoile sur une base 9i) qui fait plus 15 milions de lignes. j'ai supprimé la moitié des lignes. Pour faire redescendre le HWM j'ai copié ma table de faits dans une table temporaire, j'ai truncaté ma table de faits puis j'ai réinséré les lignes. Après avoir effectué un ANALYSE de la table je me demandais juste si je devais reconstruire les indexes des clés étrangères de ma table vers les tables dimensionnelles. Apparemment tous ces indexes ont un status à N/A
farenheiit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h18   #5
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
pour info : http://www.dbapool.com/articles/020104.html
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h21   #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
Citation:
Envoyé par farenheiit Voir le message
et le statut N/A ça correspond à quoi?
Je vous donne un exemple j'ai ma table de fait de mon Datawarehouse (schéma en étoile sur une base 9i) qui fait plus 15 milions de lignes. j'ai supprimé la moitié des lignes. Pour faire redescendre le HWM j'ai copié ma table de faits dans une table temporaire, j'ai truncaté ma table de faits puis j'ai réinséré les lignes. Après avoir effectué un ANALYSE de la table je me demandais juste si je devais reconstruire les indexes des clés étrangères de ma table vers les tables dimensionnelles. Apparemment tous ces indexes ont un status à N/A
1°) t'utilises DBMS_STATS et pas ANALYSE j'espère
2°) tu as fait un INSERT en accés direct ou pas ?
3°) regarde dba_part_indexes, ton index est surement partitionné
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h26   #7
Membre confirmé
 
Inscription : mars 2007
Messages : 750
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 750
Points : 277
Points : 277
1) pour le calcul des statistiques de ma table j'utilise la commande suivante:
Code :
analyze TABLE TENTITE compute statistics
2)Est-ce que je fais un insert accès direct?
je ne sais pas trop ce que ça veut dire
j'ai fait:
Code :
1
2
INSERT INTO tentite
SELECT * FROM tmp_entite
3) effectivement ma table de fait est partitionnée (By LIST) et mes indexes sont crées en mode LOCAL pour suivre le même partitionnement que ma table
farenheiit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 15h48   #8
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
1°) à remplacer par DBMS_STATS.GATHER_TABLE_STATS qui fournit des infos plus adapté à l'optimizer... le paramètre COMPATIBLE commence bien par 9 ?

2°)
Code :
1
2
INSERT /*+ APPEND */ INTO tentite
SELECT * FROM tmp_entite
Le APPEND permet d'accélérer sensiblement l'insertion des données en ajoutant les données brutalement après la HWM... ce qui dans le cas présent ne pose aucun problème puisque la HWM est au début du segment

3°) attention, si le mode LOCAL est moins lourd à administrer, il n'est pas adapté à tous les indexes, notamment ceux qui parcourt l'ensemble des partitions
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 16h04   #9
Membre confirmé
 
Inscription : mars 2007
Messages : 750
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 750
Points : 277
Points : 277
merci pour toutes ces infos mais je voudrais savoir quand même si je dois reconstruire mes indexes dans mon cas ou pas.
Le paramètre COMPATIBLE commence bien par 9.
Me recommandes-tu de toujours utiliser le hint APPEND pour mes insert?
farenheiit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 16h14   #10
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
APPEND ne doit être utiliser QUE quand la HWM a été redescendue au maximum et que tu fais de l'insertion en masse.

Le REBUILD ne doit pas être nécessaire, la table étant remplie de rien l'index est remis à jour
orafrance 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 10h31.


 
 
 
 
Partenaires

Hébergement Web