Consultor Eletrônico



Kbase 9865: probkup gives neg numbers and procopy doesn't copy whole db
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
probkup gives neg numbers and procopy doesn't copy whole db

890825-wlb01 conv34 and conv45 have a bug that should be fixed in 5.2E. If the
conversion is done on a database that has more that 32000 blocks (16
Meg on 512 byte block machines like DOS, 32 Meg on 1K block machines
and 64 Meg on 2K block machines) the high water mark for the database
gets corrupted.

The high water mark is a pointer that indicates the last block in
the database that is actively being used. This number will become
very large so probkup will report that a negative number of blocks
will be free upon restoring the tape and procopy will not copy the
entire database.

The proutil dbname -C dbrpr command can be used to correct the
problem by dumping the master block, editing the high water mark, and
reading the master block back into the database.

To execute the repair follow these commands:

1) run database repair
proutil dbname -C dbrpr

2) dump the master block by selecting option 4 and dumping dbkey 32.
This will create an ascii file named dbname32.dmp which contains a hex
dump of the master block. Select q to quit dbrpr.

3) Edit this file. The size of the database is a 4 byte number (8
hex digits in the form nnnn nnnn) at position &H18 in this block. This
number is in the fifth and sixth data columns on the line numbered
>0010. Write this number down. The high water mark is at position
&H164. This number is in the third and fourth data columns of the line
numbered >0160. You need to replace the high water mark on this line
with the size of the database which you wrote down from line >0010.
Now save the file and return to the operating system.

4) Read new master block into database.
proutil dbname -C dbrpr
5 - load a block
32 - the dbkey of the block we are reading.
q - quit out of dbrpr

Now your master block is corrected and you are on your way.

Progress Software Technical Support Note # 9865