Salesforce

What effect does builddb have on a replication enabled database?

« Go Back

Information

 
TitleWhat effect does builddb have on a replication enabled database?
URL NameP126228
Article Number000128053
EnvironmentProduct: OpenEdge Replication
Version: All supported versions
OS: All supported platforms
Question/Problem Description
What effect does builddb have on a replication enabled database?
What to do if the database control area is lost or damaged on a replication enabled database?
Why does a replication enabled database fail to start after proutil builddb has been run against it?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Utilities that can be run in a replication enabled environment are in the Documentation:
OpenEdge Replication Users Guide - Reference - Utilities and OpenEdge Replication, Table 5-17, 5-51 pp 177

Amongst these utilities that are allowed on both the source and target replication enabled databases is the prostrct builddb utility.

It is important to consider that when running
prostrct builddb on either the source or the target database, the Control Area (.db) is rebuilt from the database structure description file. Effectively the database will then have been disabled for replication although it is still enabled: 
  • The prostrct builddb utility does only minimal validation of the resulting control area and is not able to fully reconstruct all the control information needed by replication. 
  • Replication keeps recovery information in a blob (RCB) in the Control Area (dbname.db file). The database code cannot recreate this information since it is replication specific and therefore BUILDDB creates an empty replication blob in the new Control Area.
  • When the replication database is restarted, Replication is responsible for restoring the image of the blob from the recovery file (.recovery). If the recovery information is no longer available or there is a problem with the content, this information cannot be recovered. For example:  Replication enabled database cores when started multi-user  
  • BUILDDB should therefore preferably be run in a replication environment after disablesitereplication and then only when all other avenues have been exhausted.
Once prostrct builddb has been run, the replication baseline will need to be re-established. It is not the intent of this Article to fully describe the steps involved. These should be fully documented in the site Disaster recovery plans based on the individual environment requirements and version possibilities. The following outline the high-level steps needed.

A. If source database Control Area was rebuilt with BUILDDB:
  • Remove the [source | target].repl.recovery files,
  • Re-enable AI and replication on source database,
  • Take a new full backup of source
  • Restore this backup to target and finally enable replication on target database.
B. If target database Control Area was rebuilt with BUILDDB:
  • Remove the target.repl.recovery files, 
  • Take a new full backup of source
  • Restore this backup to target and finally
  • Enable replication on target database.
C. There may be extraneous circumstances in the production environment which lead to the perceived need for the control area to be rebuilt.  Other recovery options may include:
a.) Go to backup
b.) Dump out database single user
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:00 AM

Powered by