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 :

Suppression des index inutiles


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    PL/SQL
    Inscrit en
    Septembre 2016
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 189
    Points : 65
    Points
    65
    Par défaut Suppression des index inutiles
    bonjour a tous

    Exit il une requête magique qui me permet de faire sortir les taux de fragmentation des indexes

    le but serai de supprimer les indexes qui présentes un taux de fragmentation qui tend vers le Zéro

    la suppression de ces indexes va me permet de gagner d'espace disque

    merci pour vos retour d’expérience

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Ca veut dire quoi un taux de fragmentation qui tend vers zéro?
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Je suppose qu'il parle d'un index remplis de données qui ont été délétées dans la table.

    Un petit coup d'oeil ici : https://www.champavert-consulting.fr...-reconstruire/
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    Je suppose qu'il parle d'un index remplis de données qui ont été délétées dans la table.

    Un petit coup d'oeil ici : https://www.champavert-consulting.fr...-reconstruire/
    Et du coup les supprimer?

    A propos de ce lien:
    • le titre: 'index déséquilibré' alors que la propriété principale des B*Tree est qu'ils restent toujours équilibrés
    • très dangereux de conseiller un analyze validate structure, qui vérouille completement la table
    • 20% de delete est tout à fait normal dans la vie d'un index. Ces entrés sont réutilisées par des inserts sur les mêmes plages de valeur.
    • si on réduit l'espace vide, ils vont naturellement retrouver leur taille. Un bloc plein est splitté donc on aura entre 50% et 100% de remplissage -> moyenne 25% vide
    • un rebuild est la dernière chose à faire. S'il y a une raison de réduire (purge sur une plage de valeurs qui ne reviendra pas) coalesce ou shrink suivant les situations
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    L'intérêt du lien est surtout d'apprendre la commande ANALYZE ... VALIDATE STRUCTURE, avec sa vue associée INDEX_STATS, que tout le monde ne connait pas. On la passe même sous silence depuis qu'Oracle dit que DBMS_STATS remplace la commande ANALYZE et qu'il ne faut plus utiliser celle-ci pour gérer les stats.

    En tout cas, INDEX_STATS a des infos complémentaires de DBA_INDEXES, notamment sur l'espace occupé dans les blocs d'index, c'est ça qui pourrait intéresser sihem_info (le lien de la vue ici : https://docs.oracle.com/database/121...htm#REFRN29025).

    Attention, cette vue ne peut contenir qu'une seule ligne :-)
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  6. #6
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    En tout cas, INDEX_STATS a des infos complémentaires
    Des infos le plus souvent inutiles...

    Un exemple où je supprime 1000 ligne et j'en insère 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    SQL> create table DEMO(n constraint DEMO_N primary key) as select rownum from xmltable('1 to 1000');
     
     
    Table DEMO created.
     
     
    SQL> delete from DEMO;
     
     
    1,000 rows deleted.
     
     
    SQL> commit;
     
     
    Commit complete.
     
     
    SQL> insert into DEMO values(1);
     
     
    1 row inserted.
     
     
    SQL> insert into DEMO values(1000);
     
     
    1 row inserted.
     
     
    SQL> analyze index DEMO_N validate structure;
     
     
    Index DEMO_N analyzed.
     
     
    SQL> select lf_rows,del_lf_rows from index_stats;
     
     
       LF_ROWS DEL_LF_ROWS
    ---------- -----------
             2           0
    Et VALIDATE STRUCTURE a oublié les 998 entrées supprimées alors que l'index fait toujours la même taille

    DEL_LF_ROWS est une information interne qui n'a pas d'utilité pour estimer la fragmentation.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Etant au boulot, je ne peux pas tester mais les colonnes suivantes me semblent intéressantes, surtout le PCT_USED :
    • BTREE_SPACE : Total space currently allocated in the B-Tree
    • USED_SPACE : Total space that is currently being used in the B-Tree
    • PCT_USED : Percent of space allocated in the B-Tree that is being used
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Associé à validate structure, la colonne OPT_CMPR_COUNT est utile pour aider à déterminer le paramètre optimum de compression de l'index :
    https://asktom.oracle.com/pls/asktom...41052745029077

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par pachot Voir le message
    Des infos le plus souvent inutiles...
    Tout à fait, tu m'as devancé, Franck !
    Je me rappelle avoir lu ce détail chez J. Lewis il y a quelques années, mais je ne sais pas s'il avait été le premier à faire cette démonstration.

    Accessoirement, on répond tous un peu dans le vide dans cette discussion puisqu'on ne connaît même pas le véritable besoin du demandeur
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  10. #10
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Il faut dire aussi qu'il ne s'est plus manifesté...
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

Discussions similaires

  1. suppression des Zéro inutiles
    Par gwems dans le forum Excel
    Réponses: 3
    Dernier message: 01/09/2014, 13h55
  2. Suppression des données inutiles
    Par joujousagem2006 dans le forum Développement
    Réponses: 9
    Dernier message: 11/12/2013, 14h29
  3. Réponses: 6
    Dernier message: 20/05/2009, 09h35
  4. [CR XI] Suppression des zéros inutiles après une virgule
    Par Jsh dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 26/02/2008, 14h13
  5. Suppression des index FullText
    Par balmeyer dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/11/2007, 16h15

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