QUESTION POSED ON: 18 February 2009
I have a table in Oracle 10g which has about 5.7 billion records and is split into 500 partitions. The disk space occupied by the table is much larger than what I think it should be.
I query dba_partitions for one specific partition and get avg_row_len = 27 and num_rows = 411482598. This should equate to about 10.34 GB (Select 411482598 * 27 / Power (1024,3) From Dual). The blocks column in this table is 1653190 which equates to a size of about 12.61 GB (Select 1653190 * 8192 / Power (1024,3) From Dual). So far, I am happy.
Now I query dba_segments with the table name and partition name and get bytes = 26549944320. This equates to a size of 24.73GB, which is almost double what I found from dba_partitions. Why is this happening and is there a way to fix this?
|