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 :

[Oracle 10.2][PL/SQL] Recompiler les index


Sujet :

Administration Oracle

  1. #1
    Membre régulier Avatar de Bahan
    Inscrit en
    Avril 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut [Oracle 10.2][PL/SQL] Recompiler les index
    Bonjour à toutes et à tous.

    Je suis sous Oracle 10g et j'aimerais recompiler les différents index existants pour mon schéma <monSchema>.

    Pour l'instant, j'ai écrit ceci :
    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
    DECLARE
      CURSOR cListeIndex 
      IS
        SELECT
            sai.tablespace_name
          , sai.index_name
        FROM
          SYS.all_indexes sai
        WHERE sai.owner = '<monSchema>'
        ORDER BY 
            sai.tablespace_name ASC
          , sai.index_name ASC;
     
      vListeIndex cListeIndex%ROWTYPE;
      vRequete VARCHAR2(1000);
    BEGIN
      OPEN cListeIndex;
      LOOP
        FETCH cListeIndex INTO vListeIndex;
        EXIT WHEN cListeIndex%NOTFOUND;
     
        vRequete := 'ALTER INDEX '||vListeIndex.index_name||' REBUILD TABLESPACE '||vListeIndex.tablespace_name;
     
        EXECUTE IMMEDIATE vRequete;
      END LOOP;
      CLOSE cListeIndex;
    END;
    Cependant, je ne connais pas bien la syntaxe pour Oracle 10g. Ai-je écrit ma requête selon la bonne syntaxe ? Est-il nécessaire de préciser le tablespace de l'index ou peut-on juste écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER INDEX <NOM_INDEX> REBUILD;
    Merci d'avance pour l'information.

    Bahan

  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
    Points : 3 597
    Points
    3 597
    Par défaut
    Si vous ne voulez pas déplacer l'index dans un nouveau tablespace, il est inutile de préciser la clause TABLESPACE.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2007, 14h43
  2. Les index et les vues oracle
    Par kariba dans le forum Oracle
    Réponses: 13
    Dernier message: 18/07/2006, 10h42
  3. Réponses: 6
    Dernier message: 31/03/2006, 18h05
  4. Recreer les indexs de table dans SQL serveur 2000
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/03/2006, 16h30
  5. Réponses: 7
    Dernier message: 25/07/2005, 14h41

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