Salesforce

Error 651 when trying to add extents after a failed IDXBUILD

« Go Back

Information

 
TitleError 651 when trying to add extents after a failed IDXBUILD
URL Name000051235
Article Number000110473
EnvironmentProduct: OpenEdge
Version: All supported versions
OS: All supported platforms
Other: indexes, prostrct add
Question/Problem Description
PROSTRCT ADD fails with error 651 when attempting to add extents to a database.
Prior to adding extents, an IDXBUILD terminated due to running out of space on the area containing the index extents 8897.  
Subsequent attempts to run IDXBUILD try to rebuild all indices on the database.


 
Steps to Reproduce
Clarifying Information
Error Message(8897) SYSTEM ERROR: Unable to extend database within area <Index Area>
(13629) Index rebuild utility did not complete successfully.

(651) Index reconstruction utility was aborted. Rerun it to completion.
Defect Number
Enhancement Number
Cause
A terminated IDXBUILD against a database leaves the database with an internal flag to indicate a failure has occurred with the idxbuild routine.  The idxbuild routine must complete prior to taking any action on the database.  This includes adding extents to a database.
Resolution
Option 1: Enable largefiles and re-run the idxbuild operation:
  • If an Enterprise database license is installed and
  • If the last extent of the index area is variable (not fixed) and
  • If there are sufficient disk space available to extend the variable extent indexes are being built in
Option 2: Clear the flag in the master block with an incomplete by successful index build.
  1. A valid and verified database backup needs to be taken before attempting any repair routine.  If an index rebuild does not complete for any reason, the database is inaccessible by any means until the idxbuild completes.  If you cannot complete an index rebuild against your database, you will need to resort to the backup.
  2. Create a dbname.xb text file in the directory where the dbname.db file exists
  3. Instead of listing all the original indexes that were being rebuilt when the idxbuild failed initially, only add information regarding one of the smaller indexes to the xb file.
  4. Re-run idxbuild is from the same directory/folder as the .xb file, when the dbname.xb file is found, only that one small index will be rebuilt.  This will reset the failed idxbuild flag in the master block of the database and delete the xb file.  
  5. The prostrct add command can then be used to add extents to the area that reached capacity which caused the idxbuild to terminate earlier.  
  6. Finally rebuild all indexes for the database that were deactivated on earlier failed idxbuild attempts through the 'some', 'area', 'table or 'schema' IDXBUILD Options.
For the format of the dbname.xb file, refer to Article  An idxbuild SOME builds all indexes after a previous index rebuild has terminated or been cancelled. 
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:32 AM

Powered by