HELP: System ERROR wrong dbkey

aplcom

New Member
Hi,

I have recently inherited a new customer who is running SCO 5.0.5 with Progress 6.2 (dlc 62l). Seems that they recently had a HDD crash and next to impossible to recover any parts of the HDD. They have a manual backup of the progress data on another hard disk (abclive.bi , abclive.db). However, there seems to be something wrong with these 2 files when they were backed up (and they are the ONLY ones I was able to find!!)

When I try to start-up the database (ie pro abclive, or even pro -F abclive) I get the following error:

The PROGRESS 4GL&RDBMS Version 6.2L as of Tue Mar 31 18:24:25 EST 1992

** The FORCE option was given, database recovery will be skipped. (33)
** Your database was damaged. You must dump its data and reload it. (37)
SYSTEM ERROR: wrong dbkey in block. Found 13177792, should be 2752 (1124)
** Please save file named core for analysis by PSC. (439)
Quit(coredump)


Is there ANY way that I can get into the database (even tho it may have errors) and at least dump everthing useable so I can re-build a new one. Or is there a utility available. I tried proutil and such but to no avail!!

ANY help or advice would be very much appreciated. Thanks regards. Otto Rodusek (otto@applied.com.sg).

PS: I ran the scandb utility from Peter de Jong and unfortunately it thinks that everything is ok??

./scandb abclive

Progress Database DBKEY scan. Version 2.1 by Peter de Jong.

Database name: abclive.db
Database version number: 1087
Database blocksize: 1024
Multi Volume database: Yes

Done, 0 error(s) reported.
 

aplcom

New Member
Hi,

Much thanks for the suggestions.

Here is the output of:

proutil abclive -C trunc -F
The PROGRESS 4GL&RDBMS Version 6.2L as of Tue Mar 31 18:24:25 EST 1992

** The FORCE option was given, database recovery will be skipped. (33)
** Your database was damaged. You must dump its data and reload it. (37)


and then tried proutil abclive -C dbrpr -F ...

And I got into a repair menu!!! (I am not familiar with the dbrpr command - can't find it in the progress manuals anywhere!!??) so I need to play with it and see if I can get a workable database!! Much thanks for the help and will revert back if successfull.

BTW: Any idea where I can find the docs for dbrpr??

Again much thanks for the advice and help.

Brgds. Otto.
 

bulklodd

Member
Can you open your database after truncating?

Try to dump the wrong block to get its type.

Here's the document which describes the inner structure of database http://www.peg.com/techpapers/monographs/space/space.html

It says the fifth byte of a block is its type. If you're lucky and it's an index block (types: 2 or 5) all you'll need to do is to rebuild the indexes of your database... Otherwise if its type is a sequence, free or empty block you can dump your database. If its type is a record block there's a way to dump your data skipping the wrong records. The master block will look like a problem. But I'm afraid this information can be destroyed and unreliable, anyway it's the only way you have.
 
Top