Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
31.08.2005, 12:05
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
Проблема такая: есть база (DB2/LINUX 8.2.1) В ней некая табличка с 2 полями и сотней записей (и нескорлько триггеров на других таблицах которые делают select из первой). Так вот, при попытке сделать alter table xxx add yyy varchar(50) все это дело перестает вообще как-либо сеагировать на внешние раздражители. Только по Ctrl+C все зыкрывается, пишет что прервано пользователем и т.п. Висело у меня это дело всю ночь (на всякий случай проверял). При попытке дропнуть табличку тот же эффект (хотя должно ругнутся что дропать нельзя - из-за триггеров). В остальном, вроде база работает нормально (на ней серверное приложение висит). Какие могут быть варианты решения проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:38
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
ALTER TABLE требует эксклюзивной блокировки на всю таблицу. Если у тебя постоянно идут по этой таблице транзакции, то он может и не пройти. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:38
|
|||
---|---|---|---|
DB2 - висит запрос alter table |
|||
#18+
Возможно на набличке открыт курсор, и она залочена. или какая-то транзакция не завершена. Как вариант - скопируйте табличку с другую. 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} и пересоздать индексы и триггеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:46
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
Вся проблема в том, что "drop table {old_table}" тоже не получится (я писал обы этом). А может кто подскажет быстро как посмотреть открытые курсоры и блокировки? В оракле помнится была системная табличка одна, где все это очень хорошо представлялось... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:49
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
может, db2 get snapshot for locks on <dbname> ? и посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:51
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
это для блокировок ну и на всякий случай (видимо еще не читано) http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/r0001945.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:55
|
|||
---|---|---|---|
DB2 - висит запрос alter table |
|||
#18+
здесь на форуме ссылка была на db2monitor. Показывает локи и пр. пр. полезную ерунду Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 12:56
|
|||
---|---|---|---|
DB2 - висит запрос alter table |
|||
#18+
тпху. Он для виндовоза :). Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 12:57
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
В общем, ситуация свелась к следующему: Утилита db2look залочила системную таблицу, а db2 не получила от OS сигнал о завершении процесса, и до сих пор думает что db2look работает. Произвести любые структурные изменения в базе, таким образом, нельзя. Таблицу разлочить не можем, shutdown произвести пока невозможно (нельзя останавливать приложения). Кто-нибудь может подсказать что делать? ЗЫ: Я вообще, не админ этой базы, я девелопер. Над проблемой уже несколько дней бьются 3 человека разной степени компетентности по db2... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 13:07
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
то есть db2 list applications показывает что db2look работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 14:02
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
Вообще-то Control Center теперь решает такие проблемы. Щёлкнуть имя базы в дереве (и приконнектиться к базе), затем справа Application List, выбрать свою прикладнушку, нажать кнопку "Show Lock Chains", и затем возможно прибить (force) именно то, что мешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 14:03
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
А мешать может не только открытый курсор. Как-никак, ALTER TABLE системный каталог правит. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 15:23
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
ggvто есть db2 list applications показывает что db2look работает? Я честно говоря не знаю что и как показывает, я описал проблему с чужих слов, как мне это объяснили... В любом случае, подозреваю что решение здесь должно быть нетривиальным :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 15:35
|
|||
---|---|---|---|
|
|||
DB2 - висит запрос alter table |
|||
#18+
да не факт.... Ведь непонятно ничего... А так все может быть и тривиально. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=43&tablet=1&tid=1605794]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 151ms |
0 / 0 |