Bonjour,
J'ai récupéré sur le site des requêtes permettant de calculer la taille d'un tablespace et sonespace libre
Seulement voila :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT A.tablespace_Name, A.Alloue, B.Occupe, C.Libre FROM (select tablespace_name, sum(bytes)/1024/1024 AS ALLOUE from dba_data_files group by tablespace_name) a, (select tablespace_name, Sum(bytes)/1024/1024 AS OCCUPE from dba_segments group by tablespace_name) b, (select tablespace_name, Sum(bytes)/1024/1024 AS LIBRE from dba_free_space group by tablespace_name) c WHERE B.tablespace_Name = A.tablespace_Name AND C.Tablespace_Name = B.Tablespace_Name;
j'ai des problèmes d'extends parce que mes traitements ne font que des insertions et malgré l'espace libre sur mes tablespace, les extends sont saturés.
Si j'ai bien suivi (avec un gros "SI"), Oracle fait les insertions à la suite apres le dernier bloc occupé (???). Donc il ne revient pas sur les blocs libérés au milieu du tablespace.... ( contrairement à ce qu'il fait pour les update).
J'aimerais savoir s'il y a un moyen de savoir le pourcentage de fragmentation du tablespace ( ou le nombre de trou ou autre) Bref en gros faire la différence entre la taille libre et la taille libre en fin de tablespace.
J'ai regardé du coté des tables ayants un chain_cnt différent de 0 mais ca ne répond pas trop trop à mon problème. En effet, je pense qu'une table ne table avoir aucun bloc chainé et avoir des espaces vides ...
Merci d'avance pour toutes les pistes ...
PS/ ca se voit dans mon message, je pense, les notions de blocs et d'extends sont un peu floues donc ne pas m'en vouloir si je les ai confondu
EDIT : Pardon pardon pardon la version !!
Oracle 8.1.7.3.0 (oui je sais c'est du 8 )
Partager