Consultor Eletrônico



Kbase 19908: Database Recovery Option if DB and BI Files Are out of Sync
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   17/09/2008
Status: Verified

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x

SYMPTOM(s):

Database is damaged, see documentation. (1486)

Probable backup/restore error. (605)

bkOpenControlArea error. (7104)

Extent <file-name> has the wrong creation date <time-stamp>, (9212)

Extent <file-name> has a different last opened date <timestamp>, (9213)

Creation date mismatch. (9214)

Last open date mismatch. (9215)

Control Area has a creation date of <time-stamp>. (9216)

Control Area has a last open date of <time-stamp>. (9217)

Database Recovery Option if DB and BI Files Are out of Sync

CAUSE:

When copying a database from one machine to another using a non-recommended copying option, you might find that the Before-image (BI) or DB files are out of synchronization and therefore you cannot enter the database.


FIX:

If this problem occurs, try normal solutions like "prostrct unlock" or restoring from the last good backup.

If this is not an option, try the workaround below as a last resort. This workaround is not considered the correct method and therefore not supported by Progress, but it has worked with single extent databases. It has not been tried using multi-extent DB's.

The BI file in this example is the single extent .b1. The data is in the d1 extent. The restoration will work if you have a mydatabase.df and a mydatabase.d1 file. The steps are:

1) Create a new empty database in the desired directory.

2) Load the Schema file (mydatabase.df).

3) Truncate the BI file ( proutil mydatabase -C truncate bi ).

4) Rename the BI file (e.g. mydatabase.b1-res).

5) Create an empty file and rename it to mydatabase.b1.

6) Delete the mydatabase.db file.

7) Run the PROSTRCT utility from the dlc/bin directory prostrct builddb mydatabase mydatabase.st

This will create a new .db file in synch with the data. This procedure gives you two system errors due to a zero length BI file. Ignore them.

8) Delete the zero BI file and rename your original BI file back to mydatabase.b1.

9) Replace the new mydatabase.d1 with the old one that contains the data.

10) Truncate the BI file with the force parameter:


proutil mydatabase -C truncate bi -F 11) Start the database and perform dump an reload.