Oracle 11g - Decreasing Big Table Size
The most direct method shrinking a table is:
ALTER TABLE [table name] ENABLE ROW MOVEMENT;
ALTER TABLE [table name] SHRINK SPACE CASCADE;

More details here: https://oracle-base.com/articles/misc/alter-table-shrink-space-online
There are some limitations to this command:

Moving rows can cause problem with rowid based triggers.
Rowid materialized views must be rebuilt after a shrink operation.
The shrinking process is only available for objects in tablespaces with
automatic segment-space management enabled.
You can't combine the SHRINK SPACE clause with any other ALTER TABLE clauses.
You can't shrink a cluster or a clustered table.
You can't shrink any object with a LONG column.
You can't shrink tables with dependent function-based indexes, domain indexes, or bitmap join indexes.
You can't shrink tables that are the master table of an ON COMMIT
materialized view Mapping tables of index-organized tables are not
affected by a shrink.
Shrinks can't be used for compressed tables, except those using Advanced Row Compression (ROW STORE COMPRESS ADVANCED).
The shrink operation against a table doesn't cascade to
the LOB segments. They need to handled separately.
You can't shrink securefile LOB segments.
Changing the arrangement of rows in a table can have a negative impact on performance in some circumstances. Test thoroughly before making any decisions.
After any structural change, like a move, remember to check for unusuable indexes. If you have any, rebuild them.