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>