Kbase P6577: Database crash due to 3rd party program on Windows
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/01/2011 |
|
Status: Verified
SYMPTOM(s):
Errors occur on online database when backup or anti-virus software is running on Windows
Database crashes with 9451, 9450, 9445, 290, 9446, 3645 errors
Error 1124 when anti-virus is running
Error 1124 when a third party backup is running.
SYSTEM ERROR: read wrong dbkey at offset <offset> in file <file> found <dbkey>, expected <dbkey>, retrying. (9445)
SYSTEM ERROR: wrong dbkey in block. Found <dbkey>, should be <dbkey2> (1124)
<function>:Unknown O/S error during <system call>, errno <error number>, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (9451)
bkwrite: write to disk failed errno <num>. (3645)
SYSTEM ERROR: <function>: Bad file descriptor was used during <system call>, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (9446)
Corrupt block detected when reading from database. (4229)
<func-name>: Error occurred in area <num>, block number: <num>, extent<name>: . (10560)
SYSTEM ERROR: read wrong dbkey at offset <offset> in file <file> found <dbkey>, expected <dbkey>, retrying. (1152)
bkioRead:Insufficient disk space during Read, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (9450)
bkioread:Insufficient disk space during Read, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (6091)
Writing block <num> to log file. Please save and send the log file to Progress Software Corp. for investigation. (10561)
<function>:Insufficient disk space during read, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (9450)
SYSTEM ERROR: I/O error <n> in <program>, ret <n>, file <n>, addr <n>. (290)
FACT(s) (Environment):
Using 3rd party backup utility on the machine
File referenced is a database extent.
Enough disk space available
Database re-starts without errors.
Progress 8.X
Progress 9.X
OpenEdge 10.x
Windows
CAUSE:
This situation has often been seen to be caused by one of the several packages which allow you to backup (e.g. Veritas OS backup, Volume Shadow Copy service) or scan (e.g. Virus Scan software) database files at an Operating System level while the database is still running. This is not something that Progress supports. It is also not something that Progress recommends. The only supported way of backing up a database while it is in multi-user mode is an online probkup.
The following specific scenario has been reported: Veritas Backup Exec backup utility was used on the database files while the database was running. This caused a number of Windows system errnos to appear in the Progress error messages that seemed to suggest that the database or the file system was corrupt, e.g.
2L ERROR_FILE_NOT_FOUND The system cannot find the file specified.
9L ERROR_INVALID_BLOCK The storage control block address is invalid.
13L ERROR_INVALID_DATA The data is invalid.
The files mentioned in the error messages also varied - sometimes a data extent, sometimes a temp file, sometimes a bi extent.
Checking the application log for the backup utility showed that messages referring to Progress files occurred at the same time as the error messages in the database logfile.
The error messages in the Symptoms make it appear that the database has become corrupted, but in this situation it is unlikely that this has happened.
FIX:
Suppress any OS system backup or management tool, or Anti-virus program, from touching Progress database files, while the database is up and running. There is normally an option to exclude specific files. It is recommended to exclude
the OpenEdge installation directory and its subfolders as well as the database directory.
The database can be checked for corruption via "proutil dbname -C dbrpr" before re-starting the database.