Bonjour,
si j'ai bien compris un segment est composés des extentes, entre lesquels il y a des espaces libres. Je cherche une requêtte qui me dise la taille d'espace libre existant dans le segment. Voulez-vous m'aider ? d'avance merci.
Bonjour,
si j'ai bien compris un segment est composés des extentes, entre lesquels il y a des espaces libres. Je cherche une requêtte qui me dise la taille d'espace libre existant dans le segment. Voulez-vous m'aider ? d'avance merci.
Bonjour
Au niveau d'un segment, on ne peut pas parler d'espace libre ENTRE les extensions.
L'espace situé entre 2 extentions non consécutives du segment A peut fort bien appartenir à un autre segment. On ne peut pas qualifier cet espace de libre.
Pour connaître l'espace libre dans un segment (table ou index), il faut calculer les statistiques sur le segment en question, ce qui remplit en particulier la colonne EMPTY_BLOCKS dans DBA_TABLES ou DBA_INDEXES.
Cette valeur n'étant pas tenue à jour dynamiquement, il faut s'assurer que le calcul des statistiques est suffisamment récent, grâce à la colonne LAST_ANALYZED de DBA_TABLES ou DBA_INDEXES.
On peut aussi utiliser le package DBMS_SPACE.
Partager