Bonjour,
J'aimerais savoir s'il existe un moyen (une requête SQL) de lister le nom des tables avec des indexes d'une taille donnée?
Je débute avec Oracle et après quelques recherche j'ai fais la requête suivante :
Mais le résultat de cette requête n'est pas celui au quel je m'attendais. Il m'affiche toutes les tables. Je pense que c'est parce que une table elle, peut, posséder plusieurs extents et vu que les extents ils ont une taille fixe (environ 65000 octets) alloué par défaut ma requête compare un seul extents à la foi est c'est pour ça qu'elle m'affiche toutes les tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select user_indexes.table_name from user_indexes, user_segments, user_extents where user_indexes.tablespace_name = user_segments.tablespace_name and user_segments.segment_name = user_extents.segment_name and user.extents.bytes>65000 group by user_indexes.table_name;
Si mon raisonnement est juste je dois récupérer la somme des extents de chaque table et vérifier si elle est inférieure à la taille donnée.
Je n'ai aucune idée de comment résoudre ce problèmeet c'est pour ça que je m'adresse à vous en espérant m'apporter de l'aide.
Merci et à bientôt.
Partager