Hi,
I'm sorry to bring the bad news, but there is no other way (or I will be very happy to be proved wrong) to recover that space.
Oracle does know it has free space, it will use that free space by further object growth.
Resume:
- You cannot drop a datafile unless it is empty (Dropping Datafiles) and (here It seems I was mistaken, thanks) it cannot be the first or only datafile.
- You cannot "empty" a datafile (at least easily as it would involve to export the objects that have a part on that datafile, drop those objects, drop the datafile and import them again)
- You can resize a datafile as mentioned but only if there is no object on the space to be freed (Managing Datafiles and Tempfiles)
For that reason I said that the best would have planned it previously