Locks, locks everywhere
Posted in 2012
Topics: Connectivity: ODBC / JDBC / .NET, Connectivity: ESQL/C, 4GL & Embedded SQL
Hi people, asking from help again, hope you all doing fine.
In 1 of our [data] servers we average more than 1000 users, there are informix 4gl applications, odbc and .net (sqli), the problem is there is some application's concurrency that cause a lot of locks, and you know better than me once 1 start locking others too and soon you have a lot of users calling to the help desk...
What i want is to detect (by sql to sysmaster, better) the user, process/program, session, terminal wich started the locks (oldest locks held in time ?) and the same info of the holders of more locks amount.
The goal is to kill that sesion but also know wich proces (program, or sql better) is causing it.
This is not a case in particular, i want a tool for use whenever locks start to raise, i have some trivial query like:
select s.sid, s.username, l.dbsname, l.tabname, l.type, l.rowidlk,
l.keynum, l.waiter
from sysmaster:syslocks l, sysmaster:syssessions s
where l.owner = s.sid
But i cant detect the source of the locks with this.
Have any helping stuff for me ?
thanks!!
Normally I use this query
select owner, count(*)
from syslocks
where waiter is not null
group by 1
order by 2 DESC ;
This query shows me the informix-ID of the processes that have more locks
with other processes waiting. You can do a onstat -g ses Informix-ID and
check what is doing.
I think it can help you and I hope so.
DJMoralesM
-----Mensaje original-----
De: informix-list-bounces@iiug.org [mailto:informix-list-bounces@iiug.org]
En nombre de eferreyra
Enviado el: martes, 23 de octubre de 2012 13:34
Para: informix-list@iiug.org
Asunto: Locks, locks everywhere
Hi people, asking from help again, hope you all doing fine.
In 1 of our [data] servers we average more than 1000 users, there are
informix 4gl applications, odbc and .net (sqli), the problem is there is
some application's concurrency that cause a lot of locks, and you know
better than me once 1 start locking others too and soon you have a lot of
users calling to the help desk...
What i want is to detect (by sql to sysmaster, better) the user,
process/program, session, terminal wich started the locks (oldest locks held
in time ?) and the same info of the holders of more locks amount.
The goal is to kill that sesion but also know wich proces (program, or sql
better) is causing it.
This is not a case in particular, i want a tool for use whenever locks start
to raise, i have some trivial query like:
select s.sid, s.username, l.dbsname, l.tabname, l.type, l.rowidlk,
l.keynum, l.waiter
from sysmaster:syslocks l, sysmaster:syssessions s where l.owner = s.sid
But i cant detect the source of the locks with this.
Have any helping stuff for me ?
thanks!!
_______________________________________________
Informix-list mailing list
Informix-list@iiug.org
http://www.iiug.org/mailman/listinfo/informix-list
Antes de imprimir este mensaje, aseg'''rate de que es necesario. Proteger el medio ambiente est''' tambi'''n en tu mano.
Este mensaje puede contener informaci'''n confidencial, sometida a secreto profesional o cuya divulgaci'''n est''' prohibida por la ley. Siusted no es el destinatario del mensaje, por favor b'''rrelo y notif'''quenoslo inmediatamente, no lo reenv'''e ni copie su contenido. Si su empresa no permite la recepci'''n de mensajes de este tipo, por favor, h'''ganoslo saber inmediatamente. El correo electr'''nico v'''a Internet no permite asegurar la confidencialidad de los mensajes que se transmiten ni su integridad o correcta recepci'''n. El emisor no asume responsabilidad por estas circunstancias. Si el destinatario de este mensaje no consintiera la utilizaci'''n del correo electr'''nico v'''a Internet y la grabaci'''n de los mensajes, rogamos lo ponga en nuestro conocimiento de forma inmediata.
This e-mail may contain confidential information submitted to professional secret, which publication is forbidden by law. If you are not the intended addressee, please erase it and notify it to us immediately, not resend it, not even copy its content. If your company does not allow the receipt of this type of messages, let us know immediately.The e-mail via Internet does not allow to assure the confidentiality of the messages transmitted, its integrity or correct reception. The issuer does not assume any responsibility under these circumstances. If the addressee of this message does not consent the utilization of the e-mail via internet and the recording of messages we request to inform us the soonest.
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g