onmode -I question
Posted in 2012
Topics: Server Administration, Transactions, Locking & Isolation
I execute "onmode -I 154" to capture the deadlock information. I find:
1) ids generate af file when SHMEMDUMP=2, during the dumping, ids is being
blocked. so customer refused to use 'onmode -I"
2) If I set SHMEMDUMP=0, ids can't generate the af file.
My question is how to generate the af file when I use 'onmode -I" , and ids
isn't being blocked.
Hi.
If you are using 11.50+ version (you didn´t specify your version!!!!),
you might change the correct parameter to:
onmode -wm DUMPSHMEM=0
Then you might turn on the trace (be careful, sqlcode 154 means ISAM error:
Lock Timeout Expired).
It has nothing to do with deadlocks ok?
If you are trying to catch dadlock, you should search for error:
-143 ISAM error: deadlock detected.
(Trace generates AF files, no matter how is your DUMPSHMEM value).
Best regards.
Alexandre Marini
IBM Informix Certified Professional v10 / v11.50 / v11.70
IBM Information Management Informix Technical Professional
IBM Infosphere DataStage Technical Professional
Database Administrator
> To: ids@iiug.org
> From: luchuan@cn.ibm.com
> Subject: onmode -I question [26543]
> Date: Mon, 19 Mar 2012 23:38:36 -0400
>
> I execute "onmode -I 154" to capture the deadlock information. I find:
> 1) ids generate af file when SHMEMDUMP=2, during the dumping, ids is being
> blocked. so customer refused to use 'onmode -I"
> 2) If I set SHMEMDUMP=0, ids can't generate the af file.
>
> My question is how to generate the af file when I use 'onmode -I" , and ids
> isn't being blocked.
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
Hi,
I do it according your suggestion.
below are the steps.
1) create table tb1(c1 int) lock mode row;
insert into tb1 values (10);
insert into tb1 values (20);2) onmode -wm DUMPSHMEM=0 (the value of onconfig is 2)
onmode -I 154
onmode -I 143
3) Session 1:
begin work;
set lock mode to wait 40;
update tb1 set c1=1 where c1=10;
update tb1 set c1=2 where c1=20;4) Session 2:
begin work;
set lock mode to wait;
update tb1 set c1=2 where c1=20;
update tb1 set c1=1 where c1=10;
I see nothing in the $INFORMIXDIR/tmp.
Ok just a guess:
What is your database logging mode??? (ansi mode ????)
What happened to your sessions? They completed without any errors???
Alexandre Marini
IBM Informix Certified Professional v10 / v11.50 / v11.70
IBM Information Management Informix Technical Professional
IBM Infosphere DataStage Technical Professional
Database Administrator
> To: ids@iiug.org
> From: luchuan@cn.ibm.com
> Subject: Re: RE: onmode -I question [26558]
> Date: Tue, 20 Mar 2012 23:56:55 -0400
>
> Hi,
>
> I do it according your suggestion.
>
> below are the steps.
> 1) create table tb1(c1 int) lock mode row;
>
> insert into tb1 values (10);>
> insert into tb1 values (20);> 2) onmode -wm DUMPSHMEM=0 (the value of onconfig is 2)
>
> onmode -I 154>
> onmode -I 143
> 3) Session 1:>
> begin work;
>
> set lock mode to wait 40;>
> update tb1 set c1=1 where c1=10;>
> update tb1 set c1=2 where c1=20;> 4) Session 2:
>
> begin work;
>
> set lock mode to wait;>
> update tb1 set c1=2 where c1=20;>
> update tb1 set c1=1 where c1=10;>
> I see nothing in the $INFORMIXDIR/tmp.
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>