Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 non-exclusive access  [new]
Leonid Vorontsov
Member

Откуда: Рига
Сообщений: 321
Подскажите, кто знает, что может быть причиной получения такой ошибки (хочу сделать ALTER TABLE)? А то я всё больше на Win, а там как-то всегда удавалось решить проблему с помощью 'onstat -g opn' и отстрелом мешающих сессий. А тут подсунули мне AIX 4.3 и IDS 7.31 UD8, и не получается - не могу таким способом отловить, кто таблицу открыл. Какие ещё есть варианты?
28 сен 05, 18:09    [1919937]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
vybegallo
Guest
1.Смотреть блокировки - кто блокирует данный partition #
2. имея адрес сессии, смотреть владельца

Где-то так.
28 сен 05, 21:55    [1920464]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Leonid Vorontsov
... А тут подсунули мне AIX 4.3 и IDS 7.31 UD8, и не получается - не могу таким способом отловить, кто таблицу открыл. Какие ещё есть варианты?

А в чем затруднение? В 9-ке под AIX4.3.3 все нормально находится.
Там HDR репликации нет?
29 сен 05, 09:06    [1920958]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
Leonid Vorontsov
Member

Откуда: Рига
Сообщений: 321
Проблема оказалась в том, что я невнимательно прочитал сообщение об ошибке. Хотел сделать "ALTER TABLE tab1", а сообщение было "Could not open database table tab2." А я-то искал, кто открыл tab1, мне и в голову не пришло, что нужен эксклюзивный доступ к какой-то ещё таблице кроме модифицируемой. "Тщательнее надо..."
30 сен 05, 15:03    [1927630]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Leonid Vorontsov
Проблема оказалась в том, что я невнимательно прочитал сообщение об ошибке. Хотел сделать "ALTER TABLE tab1", а сообщение было "Could not open database table tab2." А я-то искал, кто открыл tab1, мне и в голову не пришло, что нужен эксклюзивный доступ к какой-то ещё таблице кроме модифицируемой. "Тщательнее надо..."

В голову не пришло, потому что это один из маразмов информикса -- эксклюзивное блокирование при построении индекса, добавления форинг кея, причем блокирует иногда пол базы, из-за констрейнтов.
30 сен 05, 15:36    [1927852]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Журавлев Денис
...В голову не пришло, потому что это один из маразмов информикса -- эксклюзивное блокирование при построении индекса, добавления форинг кея, причем блокирует иногда пол базы, из-за констрейнтов.

А в чем, собственно, маразм ?
В том, что при построении индекса блокируется таблица (точнее, на этот период запрещено ее изменение) ? По-моему, это нормально.
Или в том, что при добавлении внешнего ключа автоматически строится индекс ? С этим тоже можно поспорить, хотя в "некоторых" СУБД автоматически индекс и не строится, но потом это тоже вылазит боком - или падением производительности при проверке констрейнтов или дополнительной работой админа по построению индексов...
Я не считаю, что изменение структуры БД - это частая операция для промышленной системы. В информиксе и так много операций такого рода выполняются в онлайне и довольно быстро (например, in place alter table существует уже очень давно, а в некотрых СУБД к этому только сейчас приходят...)
4 окт 05, 15:28    [1936558]     Ответить | Цитировать Сообщить модератору
 Re: non-exclusive access  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
vasilis

А в чем, собственно, маразм ?
В том, что при построении индекса блокируется таблица (точнее, на этот период запрещено ее изменение) ? По-моему, это нормально.

эксклюзивное
Я про запись молчал.

Еще могу упомянуть что в одной глубоко оффтопичной субд, при построении индекса таблица не блокируется вовсе, правда я сомневаюсь в пользе такой фичи.


Про автоматическое построение индекса для констрейнта можно спорить долго. Просто получается на некоторых таблицах auto_index(fk) + my_index(fk, f0) и вроде как auto_index и лишний, место занимает и обновлять его надо. С другой стороны конечно нет никаких внутренних запросов для проверок целостности, а есть быстрая жестко запрограммированая проверка по индексу.
4 окт 05, 16:18    [1936883]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить