Bonjour à tous,
Je désire estimer le pourcentage d'espace occupé d'un tablespace en ignorant celui occupé par les lignes supprimées...
J'ai mis au point une 1ère requête SQL
Malheureusement, cette requête ne tient pas compte de l'espace libéré par les lignes supprimées par une commande DELETE.
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 SELECT RTRIM (LTRIM (t.tablespace_name, 'TAB_FILTRE_'), '_L') TABLESPACE, ROUND ( (MAX (d.BYTES) / 1024 / 1024) - (SUM (DECODE (f.BYTES, NULL, 0, f.BYTES)) / 1024 / 1024), 2 ) used_mb, ROUND (SUM (DECODE (f.BYTES, NULL, 0, f.BYTES)) / 1024 / 1024, 2 ) free_mb FROM dba_free_space f, dba_data_files d, dba_tablespaces t WHERE t.tablespace_name = d.tablespace_name AND f.tablespace_name(+) = d.tablespace_name AND f.file_id(+) = d.file_id AND t.tablespace_name LIKE 'TAB_FILTRE%' GROUP BY t.tablespace_name ORDER BY 1, 3 DESC
Existe-t-il une table système ou toute autre solution (SQL j'entends) pour affiner ce résultat ?
Par avance merci de votre aide ou remarque
Partager