Reclaim Database Wasted Space
This is all covered in the documentation, but basically:


Enable row movement for each table using ALTER TABLE ... ENABLE ROW MOVEMENT;
Shrink the object (TABLE/MATERIALISED VIEW/etc) with ALTER &lt;object type&gt; &lt;object name&gt; SHRINK SPACE;
Resize the tablespace datafiles with ALTER DATABASE DATAFILE '/path/to/your/datafile.dbf' RESIZE 500M;


Tim Hall covers this in great length, with every conceivable option, in this article - a great resource.