Kbase P111899: proutil -C idxfix, option 6, generates System Errors 5188, 9873 and multiple occurrences of message
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1x
SYMPTOM(s):
Errors running idxfix:
SYSTEM ERROR: Could not lock the record with recid <recid>. (5188)
Record <recid> has been deleted from the database. (5190)
SYSTEM ERROR: The specified area does not exist. (9873)
SYSTEM ERROR: The specified area 0 does not exist. (9873)
Message 5190 appears several times (more than once).
The RECID in error 5188 and in all occurrences of message 5190 is the same.
Option 6 in idxfix was chosen: Delete one record and it's index entries.
When prompted for the area for the recid(s), the area name was entered.
CAUSE:
This is a known issue.
proutil -C idxfix, option 6, expects the area number to be specified, rather than the area name.
The idxfix utility should reject the invalid input, but it does not, and this has the dire side effect that the specified RECID is deleted from all storage areas where such RECID exists.
For example, if you start from a copy of the sports2000 database, run proutil -C idxfix, specify RECID 5892 and area Cust_Data, then you will see message 5190 three times. That is because the record with RECID 5892 was deleted from table Customer (as intended), but also from tables Order and POLine, which live in storage areas other than the Cust_Data area.
FIX:
To avoid future problems, always specify the area number rather than the area name.
The records that were unintentionally deleted can only be recovered from a recent backup of the database.