xrizzi@arcride.edu.ar writes:
>HELP!
>I insert a row in tables, ON-Line return the error -134.
>In 'tbconfig' I have LOCKS = 2000 and in use there is 13 locks.
>The ovlock = 78.
>--------------------------------------------------------------------
>Message Log File: /usr/informix/online.log
>15:58:00 Lock table overflow - user id 202, process id 3045
>Locks
>address wtlist owner lklist type tblsnum rowid size
>80409160 0 80401b90 0 HDR+S 1000002 203 0
>13 active, 2000 total, 128 hash buckets
I would guess the application was in a transaction which had acquired the
rest of the locks before you got the error message. Once the error occurred
your application probably rolled back the transaction, thus releasing all
the locks. This is why tbstat -u showed that you had only 13 locks in use.
Two thousand locks is not many. The principal factors governing the number
of locks you need are how many concurrent users you have on the system,
whether you are using page-level or row-level locking on your tables, and
what isolation levels your applications use. You can tune your system for
up to 256,000 locks. If your applications tend to engage in lengthy
transactions that secure many locks, allowing 100 locks per user is not
too generous. Locks take up 8 bytes each in shared memory, so there's
not too much penalty for over-allocating locks.
___ ___ Senior Consultant
/ ) __ . __/ /_ ) _ _ __ Informix Software Inc. (303) 850-0210
_/__/ (_(_ (/ / (_(_ _/__) (-' ~/ '(_- 5299 DTC Blvd #740 Englewood CO 80111