To continue reading for free, register below or login
To read more you must become a member of SearchOracle.com
');
// -->

When you delete data from a tablespace, you are really
deleting data from a table within that tablespace. So
looking at the tablespace level is looking at it from
too high up. You need to look at it from table level.
Most database systems work on the principle of doing
the least amount of work possible. It is simply too
much work to release allocated space every single time
a user delete rows of data from a table. This is
especially true when most applications will end up
inserting new data into that table in the future. Why
deallocate space that will only be allocated in the
future again? So database systems do not, as a rule,
release space when you delete rows of data from a
table. This is why you don't see the newly-empty space
in OEM at the tablespace level. The free space is
there, maintained in your table's freelists, or lists
of blocks which can hold newly inserted rows of data.
The only way to reclaim this space is to move the data
off the table and then drop and recreate the table
with a smaller space allocation, or issue the TRUNCATE
TABLE command, which releases space above the initial
extent. Finally, move the data back into the table.
For More Information
|