Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Message in online.log 1

Status
Not open for further replies.

msmy

Technical User
May 12, 2002
11
MY
I've got this message when I run some function on my application...
Lock table overflow - user id 502, session id 3299

What to do ?

rgds
 
Hi msmy,

This tells that the upper limit set for the locks at shared memory has ran out of allocated resource. I would suggest following solutions.

1. You can increase the parameter LOCKS in the onconfig file residing in the $INFORMIXDIR/etc. But doing so you will be draining the Real/Virtual memory that is available in your database server.

2. Change the logic in your application in such way that it commits the rows as frequently as possible. That is try you keep your transaction size to minimum.

3. If you have to do some major manipulation (Insert/Update/Delete) in your application, you can lock the taget table in exclusive mode by issuing the SQL command: LOCK TABLE <tabname> IN EXCLUSIVE MODE. By doing so you will be draining only 1 (one) lock per table than lock per Rows basis.

4. See how the target table has configured for locking level(PAGE/ROW). To see the current status of a table issue the following SQL using dbaccess. SELECT LOCKLEVEL FROM systables WHERE tabname='<tabname>'.
If target table contains huge rows, it is suggested to change the lock level to page. To do this you can issued the SQL: ALTER TABLE <tabname> LOCK MODE (PAGE).

Rgds
shriyan
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top