RE: 106: ISAM error non-exclusive access
Posted in 1997
} -----Original Message-----
} From: Rick Bernstein [SMTP:rbernste@alarismed.com]
} Sent: Tuesday, December 16, 1997 11:52 AM
} To: informix-list@rmy.emory.edu
} Subject: 106: ISAM error non-exclusive access
}
} Running Informix-ODS 7.24UC1 on AIX 4.21, we have UNIX scripts
} which load data into our Data Warehouse. These scripts:
} 1. Drop existing constraints and indexes,
} 2. Load data with dbload, and
} 3. Create indexes and constraints.
}
} Our Data Warehouse databases are defined with buffered logging.
} If someone is accessing the table when the script runs, it fails
} immediately with:
} 106: ISAM error: non-exclusive access
} We would prefer that the script wait for the table to become
} available (like it does with our Oracle-based tables).
}
} I tried adding the following commands to the script
} BEGIN WORK;
} SET LOCK MODE TO WAIT 7200;
} LOCK TABLE <table-name> IN EXCLUSIVE MODE;
} These commands succeed, but the CREATE INDEX still fails immediately.
}
} How can I force the CREATE INDEX and ALTER TABLE commands to wait
} for other user(s) to release share lock(s) on the table?
[Scott] In short: I'm convinced that you can't. I brought this
up with Informix Tech. support months ago, but they were unable to
re-create it on their single user system. I think this is a bug. In
fact you can't do _anything_ to the table:
set lock mode to wait; begin work;
lock table my_table in exclusive mode;
{any of the following
alter table...
drop index...
add index...
create trigger...
drop trigger...
etc.}
commit work;
I also mailed this group and got no response (venting :). If
you get an answer please let me know as at this point if I want to alter
a heavily used table I have to bounce the engine. ARGH!
BTW this is 7.22 on HP-UX 10.2, so it is not isolated to your
version/platform
}
}