|
|
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
... а также (по номерам аттачей) - "адреса-пароли-явки", т.е. IP'шники и имена приложений ? (интересует прежде всего FB 3.x, SS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2014, 23:12 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
даже если есть, что ты с оными аттачами будешь делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 08:24 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
мне IP'шники нужны - просто чтобы понять, где забыл вырубить коннект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 08:28 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
вырубай все по списку из mon$attachments, не ошибешься. А еще лучше базу в шатдаун отправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 09:03 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
dimitr, ну шатдаун он слишком брутален и вырубит всех кроме sysdba. Я так понимаю Таблоиду хочется вырубить всех кто использует процедуру/функцию/пакет чтобы произвести накат обновлений, а тот кто её не использует пусть себе работает дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 09:52 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, шатдаун вырубит всех без исключений, после чего подключаешься и прогоняешь скрипты (речь про single-user shutdown). А в его сценарии тот, кто в данную секунду (когда мы проверяем) не работает с изменяемые метаданными, может в следующую секунду уже затянуть их в кеш. И скрипт снова вывалит object-in-use. Будем до бесконечности ловить юзеров за хвост? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 09:57 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
dimitr, теоретические ситуации на то и теоретические. На реальных объектах в режиме 24x7, коих у меня лично в обслуживании более сотни и по 5-30 пользователей + внешние WEB-сервисы аналогичные ситуации возникают всего несколько раз в год. И только в авральном порядке. Именно когда требуется накатить срочные правки "вживую". Это в моём случае касается только читающих процедур. Если пакет содержит прочие обновления, то только в монопольном режиме, конечно же. А висяки при завертывании FB внутрь zebedee образуются при обрыве внешних коннектов достаточно часто (бухи по xDSL/3G в удаленных офисах снимают отчеты). В своё время мы ведь применимость канделябра за апгрейд метаданных без отключения пользователей обсуждали и сошлись во мнении, что для читающих процедур можно сделать исключение, если пренебречь возможными расхождениями в возвращаемых данных. У меня так совершенно однозначно "object in use" = "висяк", т.к. за десятилетия выдрессированные пользователи с программами работают быстро и не задерживаясь, печатая отчеты сразу, закрывая приложения корректно и, "убегают на рынок покупать кости любимой собачке". По MON$-таблицам вычисляется это все, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 10:39 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
o_v_a, пока по mon таблицам ты не только не получишь того кто удерживает объект, но и вообще список удерживаемых объектов. А в планах на FB3, ЕМНИП, была только общая статистика по количеству откомпилированных, отпарсенных процедур без собственно указания их имени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 10:46 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
o_v_a, для общего кеша метаданных (его вроде в FB3 нету) можно было бы вытеснять из кеша те процедуры для которых транзакция завершена в случае их компиляции. Но тут транзакции должны быть короткими. И как раз обычно наоборот на чтение они могут быть длинными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 10:54 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, а мне полный список и не нужен на практике. Достаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту. У меня совершенно однотипные разовые ситуации, я уже привык к ним. Про общую постановку вопроса я и не имел в виду ничего, Боже упаси! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 11:12 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
o_v_aДостаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту. И вот тут во весь рост встаёт проблема поиска этих проблемных объектов в запросе. Поскольку Код: sql 1. , а поиск в блобах довольно дорогая операция, впрочем как и вообще обращение к mon$ таблицам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 11:25 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисдля общего кеша метаданных (его вроде в FB3 нету) можно было бы вытеснять из кеша те процедуры для которых транзакция завершена в случае их компиляции. А для необщего кэша метаданных можно было бы организовать настоящую версионность метаданных, когда те, кто работал со старой версией - продолжают с ней работать, а те, кто может видеть новую версию - используют её. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 11:44 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисo_v_aДостаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту. И вот тут во весь рост встаёт проблема поиска этих проблемных объектов в запросе. Поскольку Код: sql 1. , а поиск в блобах довольно дорогая операция, впрочем как и вообще обращение к mon$ таблицам Несомненно. Но в моем случае я сначала отсекаю ненужные аттачи. Внешка, завёрнутая в zebedee, выглядит как аттач с localhost да и в купе с "правильным" именем приложения. Я ж не коня в вакууме разбираю, правда, и знаю, какое приложение накосячить могло при работе с тем или иным объектом, который "in use"? ;) А на серваках выделенных отродясь никто не работает среди наших систем. Посему виновный коннект вычисляется у нас мигом. Системы без выделенного сервера - те проще перезагрузить целиком, как правило им это позволительно. Среди оставшихся одного-двух- и роюсь :) Чаще просто коннект дохлый просто удаляю, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:01 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисдорогая операция, впрочем как и вообще обращение к mon$ таблицам+1. Но вообще-то, у мну всё проще: запущен ИБЭ, в нём - Script Executive. Я не смогу его выполнить, если где-то еще торчит isql, выполнивший хотя бы один запрос к базе и считавший в себя метаданные. Искать этот isql на своей машине - не вопрос, но когда он был открыт еще где-то из 3-4 других тачек - утомляет, ибо забываешь про это. Если сообщение про object in use так легко и непринуждённо выдаёт номер транзакции, которая держит, то почему нельзя выдать еще и IP'шник (ведь тогда сразу ясно, куда лезть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:01 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА для необщего кэша метаданных можно было бы организовать настоящую версионность метаданных, когда те, кто работал со старой версией - продолжают с ней работать, а те, кто может видеть новую версию - используют её.Нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:02 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
ТаблоидЕсли сообщение про object in use так легко и непринуждённо выдаёт номер транзакции, которая держит, то почему нельзя выдать еще и IP'шник (ведь тогда сразу ясно, куда лезть).Потому что если выдаётся номер тр-ции, это значит что он известен (например из заголовка записи (и откуда тут object in use ???)), но это не значит, что про эту тр-цию известно что-то ещё, кроме её номера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:05 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, честно говоря я не понимаю как зависит версионность метаданных от общего кеша метаданных. Или ты её только в памяти организовать хочешь? Не боишься раздувания размеров этого кеша со временем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:07 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
hvlad, а что этот номер вообще означает? Ведь один и тот же объект могут использовать сразу несколько транзакций. Или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:09 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, это таблоид попутал "object in use" с "update conflict" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:18 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
o_v_aЭто в моём случае касается только читающих процедур у тебя DDL изменяются в no-wait транзакции, что-ли? Или у тебя суперсервер? Ибо в классике никаких "object in use" при альтере процедур быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:22 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
dimitr, вот блин. А я то весь топик про "object in use" разговариваю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:24 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
Таблоид, никаких айпишников никогда выдаваться не будет, ей-богу задолбал ими уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 12:29 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
dimitro_v_aЭто в моём случае касается только читающих процедур у тебя DDL изменяются в no-wait транзакции, что-ли? Или у тебя суперсервер? Ибо в классике никаких "object in use" при альтере процедур быть не должно. Транзакция как правило no-wait, ага. Кстати, а почему б не wait?.. А с архитектурой где как. Где супер, где классик. Зависит от мощи машинки и количества одновременно работающих в системе АРМ. Спасибо, открыл глаза. Я и не задумывался над различием в поведении в зависимости от архитектуры. Вот ведь, мастерство не пропьёшь! Правильно заданный вопрос содержит в себе половину ответа! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 13:43 |
|
||
|
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
|
|||
|---|---|---|---|
|
#18+
o_v_a> Кстати, а почему б не wait?.. А почему зачем б не да? P.S. Никогда не понимал этой идеи и "рекомендации". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 15:04 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38651659&tid=1563564]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 533ms |

| 0 / 0 |
