Re: Strange error on Interactive UNIX w/INFORMIX SE
Yan-Don Lin writes:
"[ "
"[ "
"[ "We are getting a error -121 on a sql query to update a table by doing
"[ "' begin work;
"[ " lock table coverage;
"[ " update table coverage
"[ " set c_fld1 = "D"
"[ " where c_fld1 = "E"
"[ " and c_fld2 = "80"
"[ " commit work;
"[ "'
"[ "the table lock is 'in exclusive mode'
"[ "
"[ "and we clean up the transaction log before we run this query like 'isql db query' and it will lock the table and then say Err -121: Cannot write log file record
"[ "we have the log permission as '666' and you can see the log file grow from 0 byte to like 2308 bytes (not always this numbers but something around it)
"[ "
"[ "and we have the system lock limit set to 300 and the sar report shows only
"[ "30 locks was used when this query is run.
"[ "
"[ "informix tech supp keep saying this is locking problem, but dont have clues how
"[ "to correct this.
"[ "
"[ "
"[ "HELP!!!
"[ "
"[ "if anybody out there have some experience with INTERACTIVE UNIX that may have
"[ "any suggestions.
"[ "
We had a similar problem that we never completely understood, but
it suggests that your real difficulty is with locks even though
sar reporting failed to show it. Ours was a simple sql update run
interactively under isql with the standard engine. After several
failures and, I believe, the same error you had, I narrowed the scope
of the update so that it would update fewer rows and it worked.
The original was something like:
update animal set breed = "MINPDL" where breed = "MINPDD"
which failed in an attempt to update some 200 records.
Narrowing the scope with something like:
update animal set breed = "MINPDL" where breed = "MINPDD"
and case_number between "100000" and "110000"
which reduced the number of update to 50 or so, was successful.
My memory of the threshhold number of updates is not precise, but
I do know it was not a binary number cutoff (e.g. 63 works and 64
doesn't or something like that.)
By the way, there was neither a begin/commit pair or table lock
in the sql used.
From that experience I would suggest that some kind of lock is the
problem and it is difficult to time a sar report to show it to you.
Good luck,
--
*********************************************************
Con Woodall *
Colorado State University *
Veterinary Teaching Hospital *
Fort Collins, CO 80523 *
303-491-1244, FAX 303-491-4414 *
cwoodall@vth1.vth.colostate.edu *
*********************************************************