Consultor Eletrônico



Kbase P129166: proutil revert results in missing records
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   17/07/2008
Status: Verified

SYMPTOM(s):

proutil revert results in missing records

dbanalys reports less records after reversion

missing records after database has been reverted from 10.1B

SYSTEM ERROR: Record continuation not found, fragment recid <recid> area <areanum> <msg-inst> . (10831)

FACT(s) (Environment):

OpenEdge 10.1B
All Supported Operating Systems

CAUSE:

The missing records were found to be caused by:

1.) The High Water Mark was not set properly when reverting TypeII areas - resulting in missing records after revert.
2.) The use of 64 bit rowids in use not identified properly - resulting in allowing reversion where it should have failed
3.) Any 64 bit continuation rowids created while in 101b were not reverted - resulting in 10831 type errors.


Realize that reverting 64 bit continuation rowids for fragmented records in a type I Istorage area can take a long time. It is suggested that -C revert be run with the -r parameter to improve bi perofrmance. Also, running with a high -recs value will decrease the number of transactions needed to perform the operation which will also help with the performance issue

The last fix has a performance issue with the revert as the db nust be scanned to compete the revert. It is suggested that the customer run with -r to buffer recovery information and -recs set to a value which will allow a large number of changes to occur in one transaction.

CAUSE:

Bug# OE00163920

FIX:

Upgrade to OpenEdge 10.1C

With the fix in place, the PROUTIL -C REVERT utility may take longer to complete. The fix for record-continuation reversion has a performance issue as the database must be scanned to complete the revert.

We recommend using the following parameters:

$ proutil <dbname> -C revert -recs 100000 -r

Where:
-r to buffer recovery information
-recs set to a value which will allow a large number of changes to occur in one transaction.