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