Subject | Re: [firebird-support] Lock Conflict - object in use |
---|---|
Author | Thomas Steinmaurer |
Post date | 2011-07-04T08:36:14Z |
> I had similar problems with this before.No. Index creation needs at creation time a lock for blocking concurrent
>
> I want to add an index on a table and I get this error:
>
> lock conflict on no wait transaction
> unsuccessful metadata update
> object<TABLE> is in use
>
> The table in this case is one of the main tables, so it's always in use. There are more then one application using this database and this table, including web clients, so I don't want to reboot, take the database offline or kill all the processes on the table.
>
> Is there anyway to bypass this "lock conflict" and force the database to create that index?
writes to get a consistence index. You could try to start the index
creation transaction with the WAIT instead of the NO_WAIT option. The
CREATE INDEX statement then might continue when there are no other
writing transactions on the table in question active.
If this doesn't work either, possibly the only way to create the index
is to shutdown (single-user mode) the database by using gfix or the
Services API.
HTH.
--
With regards,
Thomas Steinmaurer
Upscene Productions
http://www.upscene.com
http://blog.upscene.com/thomas/
Download LogManager Series, FB TraceManager today!
Continuous Database Monitoring Solutions supporting
Firebird, InterBase, Advantage Database, MS SQL Server
and NexusDB!