Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 - висит запрос alter table / 15 сообщений из 15, страница 1 из 1
31.08.2005, 12:05
    #33243045
DangerX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
Проблема такая: есть база (DB2/LINUX 8.2.1)
В ней некая табличка с 2 полями и сотней записей (и нескорлько триггеров на других таблицах которые делают select из первой).

Так вот, при попытке сделать alter table xxx add yyy varchar(50)
все это дело перестает вообще как-либо сеагировать на внешние раздражители. Только по Ctrl+C все зыкрывается, пишет что прервано пользователем и т.п. Висело у меня это дело всю ночь (на всякий случай проверял).
При попытке дропнуть табличку тот же эффект (хотя должно ругнутся что дропать нельзя - из-за триггеров).

В остальном, вроде база работает нормально (на ней серверное приложение висит).

Какие могут быть варианты решения проблемы?
...
Рейтинг: 0 / 0
31.08.2005, 12:38
    #33243188
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
ALTER TABLE требует эксклюзивной блокировки на всю таблицу. Если у тебя постоянно идут по этой таблице транзакции, то он может и не пройти.
...
Рейтинг: 0 / 0
31.08.2005, 12:38
    #33243189
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
Возможно на набличке открыт курсор, и она залочена. или какая-то транзакция не завершена.

Как вариант - скопируйте табличку с другую.

create table {new_table} like {old_table}
insert into {new_table} select * from {old_table}
commit
alter {new_table} ...
commit
drop table {old_table}
commit
rename table {new_table} to {old_table}

и пересоздать индексы и триггеры.
...
Рейтинг: 0 / 0
31.08.2005, 12:46
    #33243227
DangerX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
Вся проблема в том, что "drop table {old_table}" тоже не получится (я писал обы этом).

А может кто подскажет быстро как посмотреть открытые курсоры и блокировки?

В оракле помнится была системная табличка одна, где все это очень хорошо представлялось...
...
Рейтинг: 0 / 0
31.08.2005, 12:49
    #33243235
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
может, db2 get snapshot for locks on <dbname> ?
и посмотреть?
...
Рейтинг: 0 / 0
31.08.2005, 12:51
    #33243242
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
это для блокировок
ну и на всякий случай (видимо еще не читано) http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/r0001945.htm
...
Рейтинг: 0 / 0
31.08.2005, 12:55
    #33243259
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
здесь на форуме ссылка была на db2monitor. Показывает локи и пр. пр.
полезную ерунду

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.08.2005, 12:56
    #33243261
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
тпху. Он для виндовоза :).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.09.2005, 12:57
    #33245756
DangerX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
В общем, ситуация свелась к следующему:

Утилита db2look залочила системную таблицу, а db2 не получила от OS сигнал о завершении процесса, и до сих пор думает что db2look работает.
Произвести любые структурные изменения в базе, таким образом, нельзя.

Таблицу разлочить не можем, shutdown произвести пока невозможно
(нельзя останавливать приложения).

Кто-нибудь может подсказать что делать?

ЗЫ: Я вообще, не админ этой базы, я девелопер. Над проблемой уже несколько
дней бьются 3 человека разной степени компетентности по db2...
...
Рейтинг: 0 / 0
01.09.2005, 13:07
    #33245794
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
то есть db2 list applications показывает что db2look работает?
...
Рейтинг: 0 / 0
01.09.2005, 14:02
    #33246026
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
Вообще-то Control Center теперь решает такие проблемы.
Щёлкнуть имя базы в дереве (и приконнектиться к базе), затем справа Application List, выбрать свою прикладнушку, нажать кнопку "Show Lock Chains", и затем возможно прибить (force) именно то, что мешает.
...
Рейтинг: 0 / 0
01.09.2005, 14:03
    #33246032
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
А мешать может не только открытый курсор. Как-никак, ALTER TABLE системный каталог правит.
...
Рейтинг: 0 / 0
01.09.2005, 15:23
    #33246344
DangerX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
ggvто есть db2 list applications показывает что db2look работает?

Я честно говоря не знаю что и как показывает, я описал проблему с чужих слов, как мне это объяснили... В любом случае, подозреваю что решение здесь должно быть нетривиальным :)
...
Рейтинг: 0 / 0
01.09.2005, 15:35
    #33246392
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
да не факт....
Ведь непонятно ничего...
А так все может быть и тривиально.
...
Рейтинг: 0 / 0
02.09.2005, 10:04
    #33247598
DangerX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 - висит запрос alter table
Ну не знаю, всетаки проблемой не полные чайники и совсем не дауны занимались :) Ладно все равно, проблема уже решена shutdown-ом...
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 - висит запрос alter table / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]