Access the answers to your technology questions today.
Subscribe Now
30-day free trial. Register in 60 seconds.
What Makes Experts Exchange Unique?
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.
Try it out and discover for yourself.
Subscribe Now
30-day free trial. Register in 60 seconds.
Join the Community
Give a Little. Get a Lot.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Join the Community
by: markgeerPosted on 2003-06-03 at 08:20:05ID: 8639505
You can use dba_extents to get the size of a table (it contains the blocks allocated to a table, but it does not indicate whether those blocks are used, partly full or empty). Dba_table, all_tables and user_tables certainly have more precise information on table sizes, if your tables are analyzed regularly. Can you tell us why you don't want to use the best source for this information?
If you want to estimate the size manually, and you know the number of records and the size (number of bytes) of each record, you can just multiply those two values. Of course the actual size will always be larger because of some overhead space in each block. Also, unless you have pctfree set to 0 there will usually be some free space in each block as well. If your application allows deletes, there will be additional free space where deletes occured.