Salesforce

Storage Area growing rapidly due to corruption on the RM chain

« Go Back

Information

 
TitleStorage Area growing rapidly due to corruption on the RM chain
URL NameP123340
Article Number000165731
EnvironmentProduct: Progress
Version: 8.x, 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
Storage Area growing abnormally large.
Storage Area not reusing space within the area.
Data within the Storage Area is very small compared to the amount of disk space being utilized to hold the data.
MB (megabytes) worth of data being stored using multiple GB (gigabytes) of file system space.
DBANALYS reports error 3916 on the Area which is rapidly growing.
CHANALYS reports errors 3910 and 6704
Steps to Reproduce
Clarifying Information
Error MessageEmpty block type found below highwater mark. Area "" : . (3916)

dbkey = (3910)
<name> Block <dbkey> with invalid chain type <number> on RM chain (6704)
Defect Number
Enhancement Number
Cause
The Storage Area that is growing has two corrupted blocks on the RM Chain.  The output from CHANALYS shows error 6704 associated with two blocks that are both on the RM chain and shouldn't be:  
  • One block with an unknown type (127 0x7f) and
  • A second block whose chain type indicates it is on the Free chain.
Once this corruption is detected, the database engine will never use the remaining space on the RM chain.  Rather it will continue to allocate free space every time these blocks are detected on the RM chain.
Resolution
Empty Blocks below the High Water Mark of a Storage Area typically means that the storage engine was formatting blocks when the database crashed, or was forced down (-F) or the machine crashed.  Crash recovery is supposed to take care of this by completing the Physical Undo Phase, but for some reason did not (likely crash recovery was skipped with -F)

Recommendations:

Ideally, revert to backup and roll forward to recover the database and chain consistency, otherwise:
  1. Rebuild the RM and Free chain using DBRPR. Refer to Article  How to rebuild the RM Chain and Free Chain of a Progress Database   
  2. If dealing with indexes, rebuild the indexes in that area with IDXBUILD.
  3. To address the corruption on the RM chain, dump the data from the area, truncate the area and then load the data back into the area.
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:37 AM

Powered by