Consultor Eletrônico



Kbase P126228: What effect does builddb have on a replication enabled database?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   01/02/2010
Status: Verified

GOAL:

What effect does builddb have on a replication enabled database?

GOAL:

What to do if the database control area is lost or damaged on a replication enabled database?

GOAL:

Why does a replication enabled datbase fail to start after proutil builddb has been run against it?

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge Replication

FIX:

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 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 is rebuilt from the database structure description file. Effectively the database will then have been disabled for replication.

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. Amongst others for example, it will disable the after-imaging flag in the master block if enabled. Replication keeps recovery information in a blob in the control area (dbname.db file). The database code cannot recreate this information since it is replication specific. This utility should therefore preferably be run in a replication environment after disablesitereplication and then only when all other avenues have been exhausted.

Once it has been run, the replication baseline will need to be re-established. It is not the intent of this Solution 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: remove the [source | target].repl.recovery files, re-enable replication on source database, take a new full backup of source then restore this backup to target and finally enable replication on target database.

B. If target database control area was rebuilt: remove the target.repl.recovery files, take a new full backup of source then 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