I have a simple table in Oracle. The table has 1 million records, with an average record size of 200 bytes. Adding column definition sizes, a record shall not have over 750 bytes.
According to a simple calculation the data in the table is around 200 MB, and a reserved space of 750 MB. However the table is using 102 segments of 100 MB each, for a total size of near 10 GB, according to the following query:
select segment_name, segment_type, tablespace_name, bytes/1024/1024 as size_in_mb, bytes, extents
from user_segments
where segment_name in (select table_name from all_tables where owner=user);
So, I have two questions:
- How can I explain the oversize. The table has no indexes, or anything that should add content to the table. The table was filled from an Informatica ETL process using bulk mode.
- How can I get rid of oversize.
I do not have DBM privileges on the database.
STORAGE
clause and how it affects the thing you care about. Depending on the usage of the application that accesses the table, having a densely packed table can have unfavorable consequences. People sometimes think only of the favorable ones.