Oracle
 sql >> Base de données >  >> RDS >> Oracle

Après avoir supprimé la partition, l'index est devenu inutilisable, que dois-je faire,

  • ANALYZE TABLE ne reconstruit pas l'index, n'est-ce pas ?

    Je ne sais pas mais de nos jours, vous devriez utiliser DBMS_STATS.GATHER_TABLE_STATS plutôt que ANALYZE TABLE

  • Le chargement direct signifie que les données ne sont pas insérées ligne par ligne mais en bloc, voir Chargement direct du chemin

  • Si votre index devient UNUSABLE alors ce doit être un index global.

  • Utilisez le UPDATE GLOBAL INDEXES clause, c'est-à-dire alter table target_table drop partition target_eldest_partition UPDATE GLOBAL INDEXES; ou créer des index locaux.

  • Cela dépend des colonnes que vous avez indexées. Au lieu de la table entière, vous pouvez également exécuter DBMS_STATS.GATHER_INDEX_STATS . Avec DBMS_STATS.GATHER_TABLE_STATS vous pouvez également spécifier uniquement des partitions uniques et même des colonnes uniques.

btw, pour de nombreuses questions, ma réponse devrait être :"Avez-vous consulté la documentation Oracle" ? ou "Connaissez-vous Google" ? Selon vos captures d'écran, vous utilisez le schéma SYS et tablespace SYSAUX pour vos objets utilisateur. Vous ne devriez pas faire ça. Créez votre propre utilisateur et créez n'importe quel objet dans ce schéma.

En général, il existe trois types d'index partitionnés :

  1. GLOBAL INDEX :vous disposez d'un grand index couvrant toute la table. Ceci est obligatoire par exemple pour UNIQUE INDEXES si les colonnes indexées ne font pas partie de la clé de partition. En fait, cet index n'est pas partitionné. (comme indiqué dans ALL_INDEXES )
  2. INDEX LOCAL :cet index est partitionné de la même manière que la table sous-jacente. Chaque partition de table a une partition d'index correspondante.
  3. INDICE PARTITIONNÉ :cet index est partitionné mais différent que la table sous-jacente. Je pense qu'il est même possible de créer un index partitionné sur une table non partitionnée. Les index partitionnés sont limités à des cas d'utilisation très particuliers uniquement. En fait, je ne peux pas imaginer où un tel index aurait un sens.