Salesforce

Type II Storage Area - space not being reused after table is deleted and chains rebuilt

« Go Back

Information

 
TitleType II Storage Area - space not being reused after table is deleted and chains rebuilt
URL NameP145425
Article Number000150538
EnvironmentProduct: OpenEdge
Version: 10.1C, 10.2A
OS: All supported platforms
Other: DBRPR
Question/Problem Description
Database engine is not reusing clusters after Table deletion in a Type II Storage Area.
When a new table is loaded to the Type II Storage Area the area expands in proportion to the new data loaded
After table is deleted from the Schema Chains are rebuilt through DBRPR
Rebuilding the RM and Free Chains frees up blocks but makes no difference to the space occupied after the next data load
CHANALYS reports error 14160 after chains are rebuilt through DBRPR
PROSTRCT STATISTICS shows Total Blocks increase in proportion to the new table which is loaded to the Type II area
DBANALYS shows that Average Record size multiplied by Total # of records should occupy much less disk space than is being occupied
 
Steps to Reproduce
Clarifying Information
Type I Storage Areas reuse the previously deleted blocks
If the table is not dropped from the Schema then the subsequent load re-uses space
Error MessageSYSTEM ERROR: Last rowid() in chain inconsistent () (14160)
Defect NumberDefect OE00183719 / PSC00213098
Enhancement Number
Cause
When all areas are selected when Rebuilding Chains and the Current Area is a Type I Storage Area, DBRPR does not take into account the different area type when encountered. As a result, the Cluster Free List is not being properly populated by the DBRPR utility, so are not available to be reused during the subsequent data load.
Resolution
Upgrade to OpenEdge 10.2B, 10.1C04, 10.2A02 where this issue has been fixed

This issue does not affect re-using clusters if the table is not deleted in a Type II Storage Area and then Chains are rebuilt prior to loading the new table data to the same Storage Area
Workaround
Workaround A:

If all database objects (tables/indexes) were previously removed from this Type II Storage Area - truncate the Storage Area before loading the Schema (.df) and data into this area again.
 
$  proutil dbname -C truncate area <area-name>

Workaround B:

Load new database object to a new Type II Storage Area

Workaround C:

After deleting the table, do not run DBRPR to rebuild chains. Instead, load the .df and associated data directly.  There should be no inherent requirement to rebuild chains as a pre-requisite to re-use space.
Notes
Keyword Phrase
Last Modified Date8/23/2016 12:44 PM

Powered by