Consultor Eletrônico



Kbase P139009: rlrdnxt: note prefix and suffix lengths don't match when starting a database or truncating a bi file
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/16/2010
Status: Verified

SYMPTOM(s):

Error on rlrdnxt attempting to start the database after an abnormal shutdown

proutil dbname -C truncate bi also fails with the same error.

rlrdnxt: note prefix and suffix lengths don't match <prefix length> <suffix length> (9383)

rlrdnxt: note prefix and suffix lengths don't match (5112)

rlrdnxt: note prefix and suffix lengths don't match . (7167)

SYSTEM ERROR: rlrdnxt: note prefix and suffix lengths don't match <prefix length> <suffix length> (5112)

Stack trace from _mprosrv reads:

rlrdnxt
dorollf
rlrollf

FACT(s) (Environment):

OpenEdge 10.0B
Linux

CHANGE:

Replacing a power supply on the machine while the database was in use in a multi-user mode.

CAUSE:

All the above errors indicate non-recoverable corruption of the notes in the before image file.

Before-image notes are kept in order with transaction numbers and are used keep track of all changes to the database. When an abnormal shutdown event occurs, the before image file is used at database startup in crash recovery mode to reconcile changes recorded in the bi notes against those in the database. This is a necessary file to ensure data integrity. The corruption of the before-image file was caused by replacing a power supply that was being used on a machine where the database was running on the machine where an active database was running in multi-user mode.

FIX:

If you have after-image enabled, restore your database backup and roll forward the after image files.

If for some reason going to backup is not feasible, the last resort is to force into the database and bypass crash recovery.
Forcing into a database and by-passing crash recovery is done by truncating the bi file with the -F option.

Prior to taking this action it is highly recommended that an operating system backup of the database be taken so if something should go wrong during the force, you can always get back to this point in time.

Command: proutil dbname -C truncate bi -F

The following messages will then appear:

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

Forcing into a database can cause logical and physical corruption of a database. This should only be used as a last resort. If the database was forced into using the method above, then the database should be dumped and loaded to regain database integrity.