Salesforce

How to determine if an area is reaching Type I storage area size limits?

Information

 
TitleHow to determine if an area is reaching Type I storage area size limits?
URL NameP162697
Article Number000177691
EnvironmentProduct: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms


All Supported Operating Systems
Question/Problem Description
How to determine if an area is reaching Type I storage area size limits?
How to use dbanalys to identify if an area is approaching Type I storage area size limits?
How close to the Type I area limit is my area?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution

The output from dbanalys option to proutil can be analyzed to identify if an area is reaching areas size limits. 

1.  proutil dbname -C dbanalys > dbanalys.out
2.  Look at the area within the dbanalys.out file that is in question of approaching the Type I storage area size limits.

Example:

AREA "Cust_data" : 22  BLOCK ANALYSIS
-------------------------------------------------
8315912 block(s) found in the area.

Current high water mark: 7510818

    0 free block(s) found in the area
    7510816 record block(s) found in the area
    0 index block(s) found in the area
    805094 empty block(s) found in the area
    1 object block(s) found in the area

A Type I storage area for an 8 KB database block size with 256 records per block is limited to:

Maximum # of blocks per Storage Area** = 8,388,608
Maximum physical size of Storage Area per DB blocksize (in GB) = 64 GB

For databases areas with a database block size of 1 KB or 2 KB and 128 or 256 RPB (records per block), 1 GB of space is reserved for crash recovery purposes.  Other database block sizes and records per block combinations have a 5 GB reserve.

This space is reserved for growth during crash recovery once an area has reached its maximum user addressable area size.  If an area is close to reaching the maximum user addressable size, there is a possibility on a subsequent database startup when we are going through crash recovery, we could grow into this space.  Growth into this reserve space would be dependant upon how close to limits an area was and what transactions needed to be undone and redone as a part of crash recovery associated with that area. 

When going through crash recovery, no message is posted to the database log file to indicate that as a part of the crash recovery process we have now entered this reserved space.  A message is not posted because the purpose of reserved space is to allow a database to go through crash recovery when user addressable space for an area has been exhausted.  This is important to know because unless a Database Administrator is monitoring the growth of areas within a database, they may not realize that they have already breached the reserve space and no error would have been reported.  Database Administrators need to make use of prostrct statistics, proutil dbname -C dbanalys or the database statistics tool located https://community.progress.com/technicalusers/w/openedgegeneral/2066.database-statistics-tool.aspx  on the web to monitor area growth.  Monitoring area growth within a database is necessary to ensure that database limits are not reached that could result in a database not being able to go through database crash recovery.


Using the example above the area has a current high water mark of 7510818 blocks.  Multiply that value by the database block size and you have an area size of 61528621056 = about  57 GB.  With a user non-addressable reserve space of 5 GB, this means that the database area in question can only grow another 2 GB prior to reaching the limit for the maximum user addressable space for an area.

As of  9.1E04 and 10.0B05 and later, the prostrct statistics command can be ran against a database while the database is online to obtain information regarding current storage area size.  

Workaround
Notes
References to Written Documentation:

Progress Article(s):
 Reserved space used for recovery limits user addressable maximum storage area size.

Progress Software Developer's Network:

Database Statistics Tool  - https://community.progress.com/technicalusers/w/openedgegeneral/2066.database-statistics-tool.aspx 
Keyword Phrase
Last Modified Date6/10/2021 8:17 PM

Powered by