Salesforce

enableB2 does not survive PROREST

« Go Back

Information

 
TitleenableB2 does not survive PROREST
URL Nameenableb2-does-not-survive-prorest-000081736
Article Number000178443
EnvironmentProduct: OpenEdge
Version: 10.2B, 11.x, 12.0, 12.1
OS: All supported platforms
Other: Alternate Buffer Pool, enableB2, -B2
Question/Problem Description
Area Level Alternate Buffer Pool assignments are lost after PROBKUP/PROREST.
Object Level -B2 assignments survive a backup/restore.
Area Level -B2 assignments are no longer in the restored target database

Use-Case:
A production database is restored and started with -B2 
That shared-memory is unused until Areas are re-assigned to the Alternate Buffer Pool Area Level offline

PROREST 
  • Does not keep AREA level assignment of SOURCE 
  • Does keep TARGET AREA level assignment
  • Does keep SOURCE Object level assignment
  • Does not keep TARGET Object level assignment
Steps to Reproduce
Clarifying Information
SOURCE == the database against which the backup is taken
TARGET == the database that is restored from the source backup

PROCOPY/PRODB does keep AREA (and object) level assignment of SOURCE database.
Error Message
Defect NumberEnhancement PSC00358063 / OCTA-3675
Enhancement Number
Cause
Alternate Buffer Pool assignment:
  • At the Object Level is stored in _StorageObject._Object-attrib
  • At the Area Level is stored in _Area._Area-attrib.
PROREST will restore:
  1. Over an existing database's structure, or
  2. Use the specified target structure (.st) file when it exists to restore into, or otherwise
  3. Will generate a new target .st file based on source database control area information in the backup volume and then use that .st file
In Cases 2 and 3, the _Area records for the target database are created based on the restore structure. As a consequence, the _Area-attrib values are lost because these values are not stored in the structure file. 
 
Resolution
An Enhancement in OpenEdge 12.2 has been implemented, to store the area-level buffer assignment in the backup header which is used to during the restore. PROREST persists both area and object level buffer-pool assignment of the source database in the restored target.

Prior to OpenEdge 12.2: When restoring a database where Alternate Buffer Pool assignments are at the Area Level (enableB2), re-assign areas after restoring the database with PROREST before starting the database with -B2. These commands can be added to the restore script for example.
 
$  prorest dbname dbname.bak -verbose
$  proutil dbname -C enableB2 "area name".
$  proutil dbname -C viewB2 | grep Alternate

 
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 6:56 AM

Powered by