Just throwing out a brief comment (one of my many draft notes that I don’t have time to complete) about the dbms_space package. You’re probably familiar with this package and how, for ASSM segments, it can give you a measure of the available space in the blocks in a data segment, reporting 6 possible states of the blocks below the high high water mark (HHWM) e.g.:
Unformatted : 12 Freespace 1 ( 0 - 25% free) : 0 Freespace 2 ( 25 - 50% free) : 14 Freespace 3 ( 50 - 75% free) : 0 Freespace 4 ( 75 - 100% free) : 0 Full : 34
The above is the output from a little procedure I wrote to wrap around a call to the procedure dbms_space.space_usage().