Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025

 


Article

Dbanalys gives contradicting Information about the DB size

Information

 
Article Number000020106
EnvironmentProduct: Progress
Product: OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
DBANALYS shows contradicting Information about the database size.
The Total Combined size in the dbanalys report is much smaller than the Total Blocks found in the database multiplied by the database blocksize.
Why do DBANALYS and PROSTRCT statistics show different sizes for the database?
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution
The information in the DBANALYS report is correct, it is reporting two different metrics:
One is the the size of the information saved and the other is the physical size of the database.
 
Example: The following information from a dbanalys report (database with blocksize of 4KB):
 
Total Indexes size  =  4.3G ( 4,508,877 KB)
Total Records size  = 13.0G (13,631,488 KB)
Total Combined size = 17.3G (18,140,365 KB)

The first data shows the size in bytes (the sum of the physical size of each record and index) but doesn't take into account the part of each database block those records occupy that is not used. If for each database block, we don't use a small part of the block, then when adding all the remainder parts of all those database blocks the accumulative total is not so small.

     47 empty block(s) found in the database       (188 KB)
 259951 free block(s) found in the database  (1,039,804 KB)
8430598 total blocks found in the database  (33,722,392 KB)
 
The second data are more real regarding the physical database file space occupation on disk, since it shows the real space the Database is taking on disk including that part of the database blocks that are not being used. If the size of all the database file extents are totaled, the result will be similar to this size (database blocks x database blocksize). Similarly, the PROSTRCT STATISTICS report displays results in database blocks which would correlate with these metrics.
 
In the example above, the difference between the space occupied by data and the space occupied on disk is around 14.8 GB. While there may be legitimate reasons for this difference, for example the database contains LOB objects that are not represented in a DBANALYS report before OpenEdge 11.6, or massive delete operations have recently taken place, the reasons for this difference should be analysed. Typically this indicates that a dump and load operation should be planned with better record per block configuration for database objects. For further discussion, refer to the Articles referenced below.
 
Workaround
Notes
Attachment 
Last Modified Date6/3/2019 6:54 AM