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 :

Connaître la date de reconstruction d'un index


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut Connaître la date de reconstruction d'un index
    Bonjour à tous,

    Je procède régulièrement à des REBUILD d'indexes et je cherche à savoir s'il y a des logs des mes actions quelque part ?

    Je reconstruis essentiellement avec l'outil SQLPLUS / alter index .... rebuild;

    Merci de vos réponses

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    L'ensemble des commandes ALTER vont modifier LAST_DDL_TIME dans la vue XXX_OBJECTS:

    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
    Connecté à :
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
     
    SQL> create table t(x int);
     
    Table créée.
     
    SQL> create index i on t(x);
     
    Index créé.
     
    SQL> alter session set nls_date_format='DD/MM/YYYY HH24:MI:SS';
     
    Session modifiée.
     
    SQL> select last_ddl_time from user_objects where object_name='I';
     
    LAST_DDL_TIME
    -------------------
    09/09/2009 17:59:34
     
    SQL> select sysdate from dual;
     
    SYSDATE
    -------------------
    09/09/2009 18:00:46
     
    SQL> alter index i rebuild;
     
    Index modifié.
     
    SQL> select last_ddl_time from user_objects where object_name='I';
     
    LAST_DDL_TIME
    -------------------
    09/09/2009 18:00:59
     
    SQL>

  3. #3
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Dans les versions récentes, rebuild recalcule les statistiques, donc tu peux te fier aussi à LAST_ANALYZED dans DBA_INDEXES.
    celà dit, le rebuild régulier n'est la pluspart du temps pas justifié
    Cordialement,
    Franck.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Impeccable !

    Merci de ces réponses.

    Quand je disais "reconstruction d'index régulièrement", je voulais dire factuellement régulièrement.

    En effet, je me base sur 2 notions de fragmentation d'index :
    - la Storage Quality
    - la Leaf Row Quality.

    Après un VALIDATE STRUCTURE, le premier script me remonte le rapport block space used / total space blocks, tandis que le second m'affiche del_lf_rows / lf_rows.
    Et il est vrai que régulièrement les mêmes objets à optimiser reviennent !

    PAR CONTRE, j'ai une autre question relatifs aux LAST_DDL_TIME :

    Maintenant que je sais comment savoir les dates de modification, est-ce que je peux savoir le TYPE de modification effectuée : c'était un REBUILD ? un CREATE ? un DROP d'index ? la Vue user_objects ne contient pas de telles informations.

    Ca ressemble à de l'audit

  5. #5
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Et il est vrai que régulièrement les mêmes objets à optimiser reviennent !
    Pour min c'est bien la preuve que le rebuild n'a servi à rien
    Les index ont besoin d'un peu d'espace libre pour vivre. Si tu leur enlève, ils devront le recréer (et ça c'est du travail en plus donc des performances en moins)
    est-ce que je peux savoir le TYPE de modification effectuée
    Non, pas sans l'audit. C'est pour celà que LAST_ANALYZED est un peu plus précis.

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/03/2007, 09h23
  2. Réponses: 4
    Dernier message: 21/06/2006, 16h34
  3. [ASE] [12.0] Date de création d'un index en 12.0.0.8
    Par Lord Raptor dans le forum Sybase
    Réponses: 3
    Dernier message: 26/01/2006, 11h47
  4. Réponses: 4
    Dernier message: 16/12/2004, 13h56

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