Consultor Eletrônico



Kbase P144091: Error 9444 after adding AI extents and using prostrct to reorder the AI files.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   14/04/2010
Status: Verified

SYMPTOM(s):

Error 9444 after adding AI extents and using prostrct to reorder the AI files.

bkset: Extent <file-name.a#> is below size <file-size>. (9444)

SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)

** Save file named core for analysis by Progress Software Corporation. (439)

FACT(s) (Environment):

Original AI files are fixed length extents.
New AI files being added are either variable length extents or are fixed length extents that are smaller in size than the original AI extents.
Prior to adding additional AI extents and re-ordering, the BUSY extent is not the last physical AI extent.
prostrct reorder ai <dbname> is being run to reorder the AI extents.
All Supported Operating Systems
Progress 9.1x
OpenEdge 10.x

CAUSE:

Bug# OE00182641

CAUSE:

The bug breaks AI in a couple of ways and causes the following:

1. Re-ordered extents are listed (as per prostrct list) as having the same size as the original extent that was in that position, even though the file on disk may actually be smaller or variable.
2. File pointers to the AI files are broken, with utilities reporting that there are missing extents or duplicate extents. For example:

a) prodel shows missing AI files or duplicates.
b) Deleting all AI extents using prostrct remove produces errors with some AI extents. Continuing to re-run the command will eventually reply that all AI extents have been removed.
c) If all AI extents are removed with prostrct remove (ignoring errors), when adding extents back you will encounter errors that an extent already exists.

FIX:

To fix the problem after it has occurred do the following:

1. Run prostrct list to update the database st file:
prostrct list <dbname>
2. Run prostrct repair. This allows you to get into the database but the AI file structure is still very broken.
prostrct repair <dbname>
3. Backup the database using probkup:
probkup <dbname> <backupfile> -com
4. Delete the existing database structure using prodel. Once prodel has been run, manually delete any AI files that are left over due to the AI file structure being broken.
prodel <dbname>
5. Re-create the database structure using prostrct create:
prostrct create <dbname>
6. Restore the database into the new database structure:
prorest <dbname> <backupfile>


To avoid the problem:

Upgrade to 10.2B

For versions prior to 10.2B, when adding AI files to a database that already has fixed length AI extents, ensure that the new AI extents are the same size as the original ones.