Consultor Eletrônico



Kbase P181133: One possible method to fix an overlapped record:Bad record size Records overlap as found in Dbrpr.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/26/2011
Status: Unverified

GOAL:

One possible method to fix an overlapped record:Bad record size Records overlap as found in Dbrpr.

GOAL:

How to fix data corruption due to Invalid data block found. Reason: Bad record size Records overlap.

FACT(s) (Environment):

OpenEdge 10.x

FIX:

Whenever there is corruption in a database the first recommendation is to restore from the last good backup.

The overlapped record in the block is a record that stores the wrong record size in the header. The following method has been used successfully in a few cases to clear the corruption, but ends in a loss of some records:
1. Run dbanalys to get the current number of records.

2. Run a probkup or OS copy of the current database as the following method could possible cause further corruption.

3. Run dbrpr 1/ 1,3,4,5,7,8,9,A,Go and answer NO to scan backwards.

$ proutil dbname -C dbrpr

1. Database Scan Menu
1. Report Bad Blocks
3. Fix Bad Blocks
4. Report Bad Records
5. Delete Bad Records
7. Rebuild Free Chain
8. Rebuild RM Chain
9. Rebuild Index Delete Chain
A. Apply scan to all areas
G. Go
Scan Backward (Yes/No)? N

4. Repeat Step 3 above, but this time answer Yes to the scan backward prompt.

5. Run a dbrpr a 3rd time with only 1/ 1,4 and pipe to a file

$ proutil dbname -C dbrpr

1. Database Scan Menu
1. Report Bad Blocks
4. Report Bad Records
A. Apply scan to all areas
G. Go
Scan Backward (Yes/No)? N

6. If this worked the last dbrpr scan is clean, then run a full idxbuild.

7. Run dbanalys and compare the latest output with the earlier results of dbanalys.