Did this article resolve your question/issue?



Dbanalys gives contradicting Information about the DB size


TitleDbanalys gives contradicting Information about the DB size
URL NameP25546
Article Number000146879
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
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.
Last Modified Date6/3/2019 6:54 AM
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.