Re: Online - Lock table overflow
Posted in 1992
Topics: Transactions, Locking & Isolation, Migration, Import/Export & Data Conversion
In article <1992Nov24.215617.9577@xact.demon.co.uk> ptm@xact.demon.co.uk (Paul Thomas Mahoney) writes:
>Situation:
> I have Online 4.10 configured to support 10000 locks.
> All my tables are set for row level locking.
> I have 13 BIG files, in "unload" format, to load into 13 tables
>
>Problem with following sql:
> begin work;
>
> lock table table_01 in share mode;
> ...
> lock table table_13 in share mode;
>
> load from "file_01" insert into table_01;> ...
> load from "file_13" insert into table_13;>
> commit work;
>
>Having managed to load the first 2 tables it gets 3313 rows
>into table_03 and generates error 271 - Can't insert new row.
>All the remaining 10 loads fail imediately with the same error.
>In turbo.log I see 11 "Lock table overflow" messages.
>
>Now I thought I would not have any lock table overflow problems
>because I had lock the tables so no row level locking would be
>required.
>
>If I change the table lock mode to "exclusive" mode it works!
>
>Can some tell me what I missed?
Sure can. First, while you're loading you're grabbing locks like
crazy. On the exclusive lock you're locking the entire table, one
lock.
You need to either do the exclusive lock [best solution if you can
tie-up the table for the duration of the load] OR you need to commit
your work after each load. That will release your locks.
Also, check your documentation on tbload; maybe you can use it as
I seem to remember that it had an option to commit after N records.
I don't have the documentation here or I'd check it for you.
Mike
--
"Life's a bench, then you die!"