Lock Table Overflow
Posted in 2008
A replication-triggered delete of over a million rows on IDS 10.00.FC4 blew past the 500,000 LOCKS setting, causing "Lock table overflow", an aborted CDR transaction and blocking of other users. Advice given: avoid huge single transactions by taking a table lock or committing in batches (Art Kagel's dbdelete utility does ~8192 rows per transaction), or raise LOCKS in onconfig (valid range 2000–8,000,000), which requires an engine restart and extra resident memory (~44–120 bytes per lock). Participants noted IDS does auto-extend the lock table (one test grew it 100,000 at a time up to 8.1M locks), but docs on this are contradictory. The poster chose to raise LOCKS to 2,000,000; no further confirmation posted.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: High Availability & Replication, Error Codes & Troubleshooting, Server Administration, Triggers, Constraints & Referential Integrity, Transactions, Locking & Isolation, Versions, Editions & End-of-Life
Hi all, This may be an old question but... We had a replication job that triggered the deletion of more than 1 million records on a small table while the maximum number of locks in the onconfig file is 500000. We got 11:26:43 Lock table overflow - user id 104, session id 360387. 11:26:44 Process exited with return code 1: /bin/sh /bin/sh -c /usr/informix-10 .00.FC4/alarm.sh 3 21 "Dynamic Server resource overflow: 'Locks'." "Lock table overflow. 11:26:46 CDR CDRD_4215: transaction aborted (All rows in a transaction defined with row scope were rejected) with sql error 0 isam error 0. The system did automatically rollback afterward but all other transactions were blocked during that long time because no available locks. Searching online answers we found some help like this: "Depending on the version of the engine IDS will automatically add more memory for the locklist till 8 million locks. Or you just need to increase the value of Locks in the onconfig file." Our engine (IDS 10.00 FC4WC) seemed not increase the numebr of locks to 8 millions. So the only resolution is to increase the LOCKS in ONCONFIG from 500000 to say 2000000. Is that the only way to prevent the overflow of the lock table ? Any help would be appreciated. Regards, Long Huy Nguyen MIS(Analyst Programmer) Ruralco Limited P.O.Box 515 Wentworthville NSW 2145 Australia (Ph) 02 9688 8528 (Fax) 02 9896 7763 Disclaimer: This correspondence is for the named person's use only. It may contain confidential or legally privileged information or both. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this correspondence in error, please immediately delete it together with any attachments from your system and notify the sender. You must not disclose, copy or rely on any part of this correspondence if you are not the intended recipient. Any opinions expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the opinions of Ruralco Holdings Limited or any of its subsidiaries (collectively "Ruralco"). Although all care has been taken to screen this communication for viruses, neither the sender nor Ruralco warrants that any communication via the Internet is free of errors, viruses, interception or interference. Information is distributed without warranties of any kind.
Long Nguyen wrote: > Hi all, > First, it would be much better if your task either acquired a table lock before deleting a million rows or alternatively committed the work every 10,000 -> 50,000 rows instead. You can get my dbdelete.ec utility for this. It is VERY fast and performs partial deletes in transactions of 8192 rows at a time be default so it avoids the lock table overflow problem. Dbdelete in part of the package utils2_ak which you can download from the Oninit web site (www.oninit.com) or from the IIUG Software Repository. Note that new releases of my utilities will now appear on the Oninit site a few weeks prior to posting to the IIUG Repository. Second, IDS 9.40 and later do indeed expand the lock table if it's capacity is exceeded. The documentation is ambiguous about how this is done. In different places the descriptions are different and contradictory. In one location the docs say that the table will be expanded up to the maximum number of locks or 8,000,000. In another it says that each time the table is exhausted its size is doubled up to 15 times (starting with 500,000 locks that would take you to 1million immediately and to 20,000,000,000 locks eventually) which can easily become greater than the max. Another location states that while the table size is doubled, no more than 100,000 locks are added at a time. For you this would mean adding 1,500,000 locks to bring you up to 2,000,000. On the other hand you didn't experience any of these scenarios. Curious. Maybe John Miller III can comment? And get the docs fixed (I was looking at the 11.10xC2 docs)! Art S. Kagel Oninit > This may be an old question but... > We had a replication job that triggered the deletion of more than 1 million > records on a small table while the maximum number of locks in the onconfig > file is 500000. > We got > 11:26:43 Lock table overflow - user id 104, session id 360387. > 11:26:44 Process exited with return code 1: /bin/sh /bin/sh -c > /usr/informix-10 > ..00.FC4/alarm.sh 3 21 "Dynamic Server resource overflow: 'Locks'." "Lock > table overflow. > 11:26:46 CDR CDRD_4215: transaction aborted (All rows in a transaction > defined > with row scope were rejected) with sql error 0 isam error 0. > > The system did automatically rollback afterward but all other transactions > were blocked during that long time because no available locks. > Searching online answers we found some help like this: > "Depending on the version of the engine IDS will automatically add more > memory for the locklist till 8 million locks. > Or you just need to increase the value of Locks in the onconfig file." > > Our engine (IDS 10.00 FC4WC) seemed not increase the numebr of locks to 8 > millions. > So the only resolution is to increase the LOCKS in ONCONFIG from 500000 to > say 2000000. > Is that the only way to prevent the overflow of the lock table ? > Any help would be appreciated. > Regards, > Long Huy Nguyen > MIS(Analyst Programmer) > Ruralco Limited > P.O.Box 515 > Wentworthville NSW 2145 Australia > (Ph) 02 9688 8528 (Fax) 02 9896 7763 > ================================================================================ =========== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.oninit.com/home/disclaimer.php ================================================================================ ===========
Thanks Art, I intend to increase the max number of locks (because the SP was written by a consultant long time ago and it is so complicated that I dare not touch it!!). in onconfig (from 500000 to 2000000). Does this have any implications on system performance? and the change will be dynamically implemented or need to bounce the engine? Regards, Long N =============== "Art S. Kagel (Oninit)" To: ids@iiug.org <art@oninit.com> cc: Sent by: Subject: Re: Lock Table Overflow [11504] ids-bounces@iiug. org 06/03/2008 11:07 AM Please respond to ids Long Nguyen wrote: > Hi all, > First, it would be much better if your task either acquired a table lock before deleting a million rows or alternatively committed the work every 10,000 -> 50,000 rows instead. You can get my dbdelete.ec utility for this. It is VERY fast and performs partial deletes in transactions of 8192 rows at a time be default so it avoids the lock table overflow problem. Dbdelete in part of the package utils2_ak which you can download from the Oninit web site (www.oninit.com) or from the IIUG Software Repository. Note that new releases of my utilities will now appear on the Oninit site a few weeks prior to posting to the IIUG Repository. Second, IDS 9.40 and later do indeed expand the lock table if it's capacity is exceeded. The documentation is ambiguous about how this is done. In different places the descriptions are different and contradictory. In one location the docs say that the table will be expanded up to the maximum number of locks or 8,000,000. In another it says that each time the table is exhausted its size is doubled up to 15 times (starting with 500,000 locks that would take you to 1million immediately and to 20,000,000,000 locks eventually) which can easily become greater than the max. Another location states that while the table size is doubled, no more than 100,000 locks are added at a time. For you this would mean adding 1,500,000 locks to bring you up to 2,000,000. On the other hand you didn't experience any of these scenarios. Curious. Maybe John Miller III can comment? And get the docs fixed (I was looking at the 11.10xC2 docs)! Art S. Kagel Oninit > This may be an old question but... > We had a replication job that triggered the deletion of more than 1 million > records on a small table while the maximum number of locks in the onconfig > file is 500000. > We got > 11:26:43 Lock table overflow - user id 104, session id 360387. > 11:26:44 Process exited with return code 1: /bin/sh /bin/sh -c > /usr/informix-10 > ..00.FC4/alarm.sh 3 21 "Dynamic Server resource overflow: 'Locks'." "Lock > table overflow. > 11:26:46 CDR CDRD_4215: transaction aborted (All rows in a transaction > defined > with row scope were rejected) with sql error 0 isam error 0. > > The system did automatically rollback afterward but all other transactions > were blocked during that long time because no available locks. > Searching online answers we found some help like this: > "Depending on the version of the engine IDS will automatically add more > memory for the locklist till 8 million locks. > Or you just need to increase the value of Locks in the onconfig file." > > Our engine (IDS 10.00 FC4WC) seemed not increase the numebr of locks to 8 > millions. > So the only resolution is to increase the LOCKS in ONCONFIG from 500000 to > say 2000000. > Is that the only way to prevent the overflow of the lock table ? > Any help would be appreciated. > Regards, > Long Huy Nguyen > MIS(Analyst Programmer) > Ruralco Limited > P.O.Box 515 > Wentworthville NSW 2145 Australia > (Ph) 02 9688 8528 (Fax) 02 9896 7763 > ================================================================================ =========== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.oninit.com/home/disclaimer.php ================================================================================ =========== ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum. See you at the IIUG Informix 2008 Conference The Power Conference for Informix Professionals April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas http://www.iiug.org/conf Registration Now Open!! Disclaimer: This correspondence is for the named person's use only. It may contain confidential or legally privileged information or both. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this correspondence in error, please immediately delete it together with any attachments from your system and notify the sender. You must not disclose, copy or rely on any part of this correspondence if you are not the intended recipient. Any opinions expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the opinions of Ruralco Holdings Limited or any of its subsidiaries (collectively "Ruralco"). Although all care has been taken to screen this communication for viruses, neither the sender nor Ruralco warrants that any communication via the Internet is free of errors, viruses, interception or interference. Information is distributed without warranties of any kind.
Long Nguyen wrote: > Thanks Art, > I intend to increase the max number of locks (because the SP was written by > a consultant long time ago and it is so complicated that I dare not touch > it!!). > in onconfig (from 500000 to 2000000). Does this have any implications on > system performance? and the change will be dynamically implemented or need > to bounce the engine? > Each lock is from 44 to 120 bytes depending on the platform and whether you are using a 32bit or 64bit engine version (you are on 64bit so figure 120 bytes per lock to be safe). The only issue is whether the additional memory will cause swapping on the system whether for IDS or for other apps. You know how much free memory is on the system. You have to bounce the IDS instance for LOCKS changes to take effect. Art S. Kagel Oninit > Regards, > Long N > =============== > > "Art S. Kagel > > (Oninit)" To: ids@iiug.org > > <art@oninit.com> cc: > > Sent by: Subject: Re: Lock Table Overflow [11504] > > ids-bounces@iiug. > > org > > 06/03/2008 11:07 > > AM > > Please respond to > > ids > > Long Nguyen wrote: > >> Hi all, >> >> > > First, it would be much better if your task either acquired a table lock > before deleting a million rows or alternatively committed the work every > 10,000 -> 50,000 rows instead. You can get my dbdelete.ec utility for > this. It is VERY fast and performs partial deletes in transactions of > 8192 rows at a time be default so it avoids the lock table overflow > problem. Dbdelete in part of the package utils2_ak which you can > download from the Oninit web site (www.oninit.com) or from the IIUG > Software Repository. Note that new releases of my utilities will now > appear on the Oninit site a few weeks prior to posting to the IIUG > Repository. > > Second, IDS 9.40 and later do indeed expand the lock table if it's > capacity is exceeded. The documentation is ambiguous about how this is > done. In different places the descriptions are different and > contradictory. In one location the docs say that the table will be > expanded up to the maximum number of locks or 8,000,000. In another it > says that each time the table is exhausted its size is doubled up to 15 > times (starting with 500,000 locks that would take you to 1million > immediately and to 20,000,000,000 locks eventually) which can easily > become greater than the max. Another location states that while the > table size is doubled, no more than 100,000 locks are added at a time. > For you this would mean adding 1,500,000 locks to bring you up to > 2,000,000. On the other hand you didn't experience any of these > scenarios. Curious. > > Maybe John Miller III can comment? And get the docs fixed (I was > looking at the 11.10xC2 docs)! > > Art S. Kagel > Oninit > > >> This may be an old question but... >> We had a replication job that triggered the deletion of more than 1 >> > million > >> records on a small table while the maximum number of locks in the >> > onconfig > >> file is 500000. >> We got >> 11:26:43 Lock table overflow - user id 104, session id 360387. >> 11:26:44 Process exited with return code 1: /bin/sh /bin/sh -c >> /usr/informix-10 >> ..00.FC4/alarm.sh 3 21 "Dynamic Server resource overflow: 'Locks'." "Lock >> > > >> table overflow. >> 11:26:46 CDR CDRD_4215: transaction aborted (All rows in a transaction >> defined >> with row scope were rejected) with sql error 0 isam error 0. >> >> The system did automatically rollback afterward but all other >> > transactions > >> were blocked during that long time because no available locks. >> Searching online answers we found some help like this: >> "Depending on the version of the engine IDS will automatically add more >> memory for the locklist till 8 million locks. >> Or you just need to increase the value of Locks in the onconfig file." >> >> Our engine (IDS 10.00 FC4WC) seemed not increase the numebr of locks to 8 >> > > >> millions. >> So the only resolution is to increase the LOCKS in ONCONFIG from 500000 >> > to > >> say 2000000. >> Is that the only way to prevent the overflow of the lock table ? >> Any help would be appreciated. >> Regards, >> Long Huy Nguyen >> MIS(Analyst Programmer) >> Ruralco Limited >> P.O.Box 515 >> Wentworthville NSW 2145 Australia >> (Ph) 02 9688 8528 (Fax) 02 9896 7763 >> >> > > > ================================================================================ =========== > > Please access the attached hyperlink for an important electronic > communications disclaimer: > > http://www.oninit.com/home/disclaimer.php > > > ================================================================================ =========== > > > ******************************************************************************* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > See you at the IIUG Informix 2008 Conference > The Power Conference for Informix Professionals > April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas > http://www.iiug.org/conf > Registration Now Open!! > > Disclaimer: > This correspondence is for the named person's use only. It may contain > confidential or legally privileged information or both. No confidentiality > or privilege is waived or lost by any mistransmission. If you receive this > correspondence in error, please immediately delete it together with any > attachments from your system and notify the sender. You must not disclose, > copy or rely on any part of this correspondence if you are not the intended > recipient. > Any opinions expressed in this message are those of the individual sender, > except where the sender expressly, and with authority, states them to be > the opinions of Ruralco Holdings Limited or any of its subsidiaries > (collectively "Ruralco"). > Although all care has been taken to screen this communication for viruses, > neither the sender nor Ruralco warrants that any communication via the > Internet is free of errors, viruses, interception or interference. > Information is distributed without warranties of any kind. > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > See you at the IIUG Informix 2008 Conference > The Power Conference for Informix Professionals > April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas > http://www.iiug.org/conf > Registration Now Open!! > > ================================================================================ =========== > Please access the attached hyperlink for an important electronic communications disclaimer: > > http://www.oninit.com/home/disclaimer.php > > ================================================================================ =========== > > > =========================================================
RedHat AS3 U8, IDS 10.00.UC4 (32-bit) With a bad query that I haven't nailed down yet (might be free-form SQL) locks max out at 2,000,000. Unfortunately, this causes the locking mechanism to become not friendly. At some point locks become phantom (?) and all other users get lock errors. A bounce of the db engine is required. Bob Roussey Unix / Informix Administration Spirit Airlines Robert.Roussey@SpiritAir.com -----Original Message----- From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Art S. Kagel (Oninit) Sent: Thursday, March 06, 2008 1:30 AM To: ids@iiug.org Subject: Re: Lock Table Overflow [11507] Long Nguyen wrote: > Thanks Art, > I intend to increase the max number of locks (because the SP was written by > a consultant long time ago and it is so complicated that I dare not touch > it!!). > in onconfig (from 500000 to 2000000). Does this have any implications on > system performance? and the change will be dynamically implemented or need > to bounce the engine? > Each lock is from 44 to 120 bytes depending on the platform and whether you are using a 32bit or 64bit engine version (you are on 64bit so figure 120 bytes per lock to be safe). The only issue is whether the additional memory will cause swapping on the system whether for IDS or for other apps. You know how much free memory is on the system. You have to bounce the IDS instance for LOCKS changes to take effect. Art S. Kagel Oninit > Regards, > Long N > =============== > > "Art S. Kagel > > (Oninit)" To: ids@iiug.org > > <art@oninit.com> cc: > > Sent by: Subject: Re: Lock Table Overflow [11504] > > ids-bounces@iiug. > > org > > 06/03/2008 11:07 > > AM > > Please respond to > > ids > > Long Nguyen wrote: > >> Hi all, >> >> > > First, it would be much better if your task either acquired a table lock > before deleting a million rows or alternatively committed the work every > 10,000 -> 50,000 rows instead. You can get my dbdelete.ec utility for > this. It is VERY fast and performs partial deletes in transactions of > 8192 rows at a time be default so it avoids the lock table overflow > problem. Dbdelete in part of the package utils2_ak which you can > download from the Oninit web site (www.oninit.com) or from the IIUG > Software Repository. Note that new releases of my utilities will now > appear on the Oninit site a few weeks prior to posting to the IIUG > Repository. > > Second, IDS 9.40 and later do indeed expand the lock table if it's > capacity is exceeded. The documentation is ambiguous about how this is > done. In different places the descriptions are different and > contradictory. In one location the docs say that the table will be > expanded up to the maximum number of locks or 8,000,000. In another it > says that each time the table is exhausted its size is doubled up to 15 > times (starting with 500,000 locks that would take you to 1million > immediately and to 20,000,000,000 locks eventually) which can easily > become greater than the max. Another location states that while the > table size is doubled, no more than 100,000 locks are added at a time. > For you this would mean adding 1,500,000 locks to bring you up to > 2,000,000. On the other hand you didn't experience any of these > scenarios. Curious. > > Maybe John Miller III can comment? And get the docs fixed (I was > looking at the 11.10xC2 docs)! > > Art S. Kagel > Oninit > > >> This may be an old question but... >> We had a replication job that triggered the deletion of more than 1 >> > million > >> records on a small table while the maximum number of locks in the >> > onconfig > >> file is 500000. >> We got >> 11:26:43 Lock table overflow - user id 104, session id 360387. >> 11:26:44 Process exited with return code 1: /bin/sh /bin/sh -c >> /usr/informix-10 >> ..00.FC4/alarm.sh 3 21 "Dynamic Server resource overflow: 'Locks'." "Lock >> > > >> table overflow. >> 11:26:46 CDR CDRD_4215: transaction aborted (All rows in a transaction >> defined >> with row scope were rejected) with sql error 0 isam error 0. >> >> The system did automatically rollback afterward but all other >> > transactions > >> were blocked during that long time because no available locks. >> Searching online answers we found some help like this: >> "Depending on the version of the engine IDS will automatically add more >> memory for the locklist till 8 million locks. >> Or you just need to increase the value of Locks in the onconfig file." >> >> Our engine (IDS 10.00 FC4WC) seemed not increase the numebr of locks to 8 >> > > >> millions. >> So the only resolution is to increase the LOCKS in ONCONFIG from 500000 >> > to > >> say 2000000. >> Is that the only way to prevent the overflow of the lock table ? >> Any help would be appreciated. >> Regards, >> Long Huy Nguyen >> MIS(Analyst Programmer) >> Ruralco Limited >> P.O.Box 515 >> Wentworthville NSW 2145 Australia >> (Ph) 02 9688 8528 (Fax) 02 9896 7763 >> >> > > > ======================================================================== =================== > > Please access the attached hyperlink for an important electronic > communications disclaimer: > > http://www.oninit.com/home/disclaimer.php > > > ======================================================================== =================== > > > ************************************************************************ ******* > > Forum Note: Use "Reply" to post a response in the discussion forum. > > See you at the IIUG Informix 2008 Conference > The Power Conference for Informix Professionals > April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas > http://www.iiug.org/conf > Registration Now Open!! > > Disclaimer: > This correspondence is for the named person's use only. It may contain > confidential or legally privileged information or both. No confidentiality > or privilege is waived or lost by any mistransmission. If you receive this > correspondence in error, please immediately delete it together with any > attachments from your system and notify the sender. You must not disclose, > copy or rely on any part of this correspondence if you are not the intended > recipient. > Any opinions expressed in this message are those of the individual sender, > except where the sender expressly, and with authority, states them to be > the opinions of Ruralco Holdings Limited or any of its subsidiaries > (collectively "Ruralco"). > Although all care has been taken to screen this communication for viruses, > neither the sender nor Ruralco warrants that any communication via the > Internet is free of errors, viruses, interception or interference. > Information is distributed without warranties of any kind. > > > *********************
Robert Roussey(IT) wrote:
> RedHat AS3 U8, IDS 10.00.UC4 (32-bit)
>
> With a bad query that I haven't nailed down yet (might be free-form
> SQL) locks max out at 2,000,000.
You need one LOCK for each row you update/delete/insert + one lock per
row and index on the table.
> Unfortunately, this causes the locking mechanism to become not friendly.
> At some point locks become phantom (?) and all other users get lock
> errors. A bounce of the db engine is required.
>
> Bob Roussey
> Unix / Informix Administration
> Spirit Airlines
> Robert.Roussey@SpiritAir.com
LOCKS onconfig parameter has to be between 2000 and 8000000 otherwise
oninit won't start.
>
>
> Long Nguyen wrote:
>> Thanks Art,
>> I intend to increase the max number of locks (because the SP was
> written by
>> a consultant long time ago and it is so complicated that I dare not
> touch
>> it!!).
I advise nevertheless to get into the SP and try to understand it and
chnage it (along with a documentation for the DBAs and application
developers who come after you.
>> in onconfig (from 500000 to 2000000). Does this have any implications
> on
>> system performance? and the change will be dynamically implemented or
> need
>> to bounce the engine?
>>
Locks take up some more main memory inn RESIDENT shared memory. Apart
form that I can't imagine that increaseing the number of locks all else
equal does have an performance impact.
LOCKS thakes effect at engine startup , so yes need to bounce.
>>...
>> Second, IDS 9.40 and later do indeed expand the lock table if it's
>> capacity is exceeded. The documentation is ambiguous about how this is
>> done. In different places the descriptions are different and
>> contradictory. In one location the docs say that the table will be
>> expanded up to the maximum number of locks or 8,000,000. In another it
>> says that each time the table is exhausted its size is doubled up to 15
>> times (starting with 500,000 locks that would take you to 1million
>> immediately and to 20,000,000,000 locks eventually) which can easily
>> become greater than the max. Another location states that while the
>> table size is doubled, no more than 100,000 locks are added at a time.
>
>> For you this would mean adding 1,500,000 locks to bring you up to
>> 2,000,000. On the other hand you didn't experience any of these
>> scenarios. Curious.
>>
I ran a (not so little) test , started with 4000000 LOCKS and inserted
4 000 000 rows in a table with one non-unique index . IDS dynamically
added more LOCKS, 100000 each time. I ended up with 16 lock table
overflows and 8100000 LOCKS. However, I haven#t found the maximum of
LOCKS we will allocated and the maximum number of locktable overflows.
HTH
Tilman
It is better to split up the data modification request so that smaller groups
of data are modified within one transaction.
"tilleul17@web.de" <tilleul17@web.de> wrote:
Robert Roussey(IT) wrote:
> RedHat AS3 U8, IDS 10.00.UC4 (32-bit)
>
> With a bad query that I haven't nailed down yet (might be free-form
> SQL) locks max out at 2,000,000.
You need one LOCK for each row you update/delete/insert + one lock per
row and index on the table.
> Unfortunately, this causes the locking mechanism to become not friendly.
> At some point locks become phantom (?) and all other users get lock
> errors. A bounce of the db engine is required.
>
> Bob Roussey
> Unix / Informix Administration
> Spirit Airlines
> Robert.Roussey@SpiritAir.com
LOCKS onconfig parameter has to be between 2000 and 8000000 otherwise
oninit won't start.
>
>
> Long Nguyen wrote:
>> Thanks Art,
>> I intend to increase the max number of locks (because the SP was
> written by
>> a consultant long time ago and it is so complicated that I dare not
> touch
>> it!!).
I advise nevertheless to get into the SP and try to understand it and
chnage it (along with a documentation for the DBAs and application
developers who come after you.
>> in onconfig (from 500000 to 2000000). Does this have any implications
> on
>> system performance? and the change will be dynamically implemented or
> need
>> to bounce the engine?
>>
Locks take up some more main memory inn RESIDENT shared memory. Apart
form that I can't imagine that increaseing the number of locks all else
equal does have an performance impact.
LOCKS thakes effect at engine startup , so yes need to bounce.
>>...
>> Second, IDS 9.40 and later do indeed expand the lock table if it's
>> capacity is exceeded. The documentation is ambiguous about how this is
>> done. In different places the descriptions are different and
>> contradictory. In one location the docs say that the table will be
>> expanded up to the maximum number of locks or 8,000,000. In another it
>> says that each time the table is exhausted its size is doubled up to 15
>> times (starting with 500,000 locks that would take you to 1million
>> immediately and to 20,000,000,000 locks eventually) which can easily
>> become greater than the max. Another location states that while the
>> table size is doubled, no more than 100,000 locks are added at a time.
>
>> For you this would mean adding 1,500,000 locks to bring you up to
>> 2,000,000. On the other hand you didn't experience any of these
>> scenarios. Curious.
>>
I ran a (not so little) test , started with 4000000 LOCKS and inserted
4 000 000 rows in a table with one non-unique index . IDS dynamically
added more LOCKS, 100000 each time. I ended up with 16 lock table
overflows and 8100000 LOCKS. However, I haven#t found the maximum of
LOCKS we will allocated and the maximum number of locktable overflows.
HTH
Tilman
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
See you at the IIUG Informix 2008 Conference
The Power Conference for Informix Professionals
April 27 - 30, 2008 Marriott Overland Park (Kansas City), Kansas
http://www.iiug.org/conf
Registration Now Open!!
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.