The Informix online server terminates.
In the database log file ("online.log.file") you can find the following entries at this time:
hh:mm:ss Assert Failed: Internal Error - Segmentation Violation
hh:mm:ss Who: Session(...) Thread(...)
hh:mm:ss Results: OnLine must abort
hh:mm:ss Action: Reinitialize shared memory
hh:mm:ss See Also: ...
hh:mm:ss rsinit.c, line ..., thread ..., proc id ...,
hh:mm:ss PANIC: Attempting to bring system down
In many cases, the memory extract ("shared memory dump") contains among other things the symbol "lockhash". This is the case when the following command returns a number greater than 0:
strings
ASSERT FAILED, SEGMENTATION VIOLATION, PTS, PTS_BUG, PTS_BUG_72926, SPAM
This is caused by an error in the database software of Informix or by a configuration problem of the database.
- 1. Complex SQl statements (particularly those with large IN clauses) cause intensive use of the stacks in the corresponding Informix thread.
- 2. Many tables in a database (this is the case with SAP R/3) can cause the hash lists of the Informix dictionary to be copied too early.
- 1. Increase the value of parameter STACKSIZE in the Informix configuration file $INFORMIXDIR/etc/$ONCONFIG. The value range of this parameter is
from 32 to 256 (kilobytes).
For this also refer to the sections on the parameter STACKSIZE in Note 38307.
- 2. Increase the values of the parameters DD_HASHSIZE and DD_HASHMAX in file $INFORMIXDIR/etc/$ONCONFIG as follows:
DD_HASHSIZE 511 # Length of DD Hash
DD_HASHMAX 20 # Width of DD Hash
Also refer to the sections on the parameters DD_HASHSIZE and DD_HASHMAX in Note 38307.
The error was corrected in the database versions 7.23. UC4 and in all subsequent versions.
No comments:
Post a Comment