May be DBMS_SPACE would be helpful.

Write a small PL/SQL block using DBMS_SPACE package and get a list of tables having more than enough unused blocks.
Then recover that space using ALTER TABLE ... DEALLOCATE UNUSED.


Sameer