Consultor Eletrônico



Kbase P101962: Recovering from 2GB Progress limit on extents when the database won't restart.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/17/2009
Status: Verified

SYMPTOM(s):

Database extent exceeds 2 GB limit

Database log file shows database was generating errors 6081 and 6091

bkioWrite: lseek error 22 on file 15 at -2147483648, file <dbname.extent>. (6081)

bkioWrite:Insufficient disk space during write, fd 15, len 16384, offset -2147483648, file <dbname.extent>. (6091)

Database log file shows database doesn't restart due to error 4524

SYSTEM ERROR: File <dbname.extent> too small -2147483648, blocksize 1024 extend failed. (4524)

FACT(s) (Environment):

Progress 8.x
Progress 9.x
OpenEdge 10.x
OpenEdge Category: Database

CAUSE:

File size is near or over the Progress internal 2GB limit and could not be written to.

FIX:

You must restore using your previous good backup, and roll forward your AI files if you have AI enabled.
STEPS:

1) O/S backup all the database files. This is done as a precaution in case something is found to be wrong with your standard backups.
2) Delete the existing database:
prodel <dbname>
3) Edit the existing structure file and add new database extents, ensure that there is enough space available in the directory in which they are defined.
4) Create a new database structure using the newly modified structure file:
prostrct create <dbname> <dbname.st>
5) Restore your previous good backup into the new structure. NOTE: This is not referring to the backup done in step 1, this is referring to the most recent Progress backup done just prior to the database extent size issue.
prorest <dbname> <backup device or filename>
6) If you have After Imaging enabled, you can roll forward all AI files generated after the backup that was just restored. You must do this before accessing the database via any other method.
rfutil <dbname> -C roll forward -a <aifile>