Consultor Eletrônico



Kbase P117905: Errors (9971) and (9972) when accessing restored backup
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   21/02/2007
Status: Verified

FACT(s) (Environment):

OpenEdge 10.1A

SYMPTOM(s):

Errors (9971) and (9972) when accessing restored backup

Invalid before image version number found in bi file . (9971)

This is a version 0 bi file. (9972)

Backup created by probkup online

Source database converted to OpenEdge 10 using conv910

Source database started immediately after conv910

Database structure (.st) file used during restore specifies more than 1 bi extent

CAUSE:

The behaviour arises because the backup being restored was created using probkup online after the database was converted using conv910 AND after the restored database had been started.

That sequence of events is incorrect. The database should be backed up immediately after the conversion from Progress 9 to OpenEdge 10 has been carried out, and not later once the database has been started.

CAUSE:

Bug# 20060706-011

FIX:

Apply 10.1A SP02 where this issue has been addressed.

To preserve the structure of the database (e.g. more than one bi extents in a different location), there are three workarounds:

Workaround#1: First create a void then empty database structure of the correct blocksize with the needed multiple extents, THEN procopy

0. Remove all previous instances of the database files associated with the previous restore
1. create a void database structure, where dbname.st is the full database structure to be created with the same blocksize as the source
$ prostrct create <dbname> <dbname>.st -blocksize <n>
2. create an empty database structure, where the "n" in emptyn is the blocksize (1,2,4,8)
$ procopy $DLC/empty<n> dbname
3. Restore the online probkup
$ echo y | prorest <dbname> <backupname>


Workaround#2: Restore to ONE variable bi extent structure and then add needed bi extents after the restore

CAVEAT: presuming that the online backup that was taken either did not have a > 2GB bi area in use or that large files are enabled

0. Remove all previous instances of the database files associated with the previous restore
1. Place a structure file (dbname.st) which contains only ONE variable bi extent definition (and all the other database Storage Areas needed) listing the fully qualified paths to each.
2. Restore the online probkup
$ prorest <dbname> <backupname> <dbname>.st
2. Truncate bi.
$ proutil <dbname> -C truncate bi
3. Remove variable bi extent, there will be NO bi extents after this step
$ prostrct remove <dbname> bi
4. The bi extents can then re-added in the locations and with the sizes that were previously defined using prostrct add.
$ prostrct add <dbname> manybiad.st

# WHERE: manybiad.st for example reads:
b . f 1048576
b . f 1048576
b .

Workaround#3: Use an offline probkup