Детали gfix -shut

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Детали gfix -shut

Сообщение SAMZ » 22 апр 2005, 11:08

Уважаемые коллеги!
Подскажите где можно найти подробное описание того, как выполняется gfix -shut
Конкретно интересует обеспечивается ли при этом нормальное завершение клиентских процессо, сборка мусора, если в этот моментт она имеет место. Есть ли разницы в отработке этой утилиты для конфигурации CS и SS

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 апр 2005, 11:20

клиентские процессы не завершаются. блокируется их работа.
в общем, все это сделано более правильно и корректно в FB2.

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 22 апр 2005, 11:29

kdv писал(а):клиентские процессы не завершаются. блокируется их работа.
в общем, все это сделано более правильно и корректно в FB2.
Сформулирую вопрос по другому. Если необходимо всех выгнать и остановить на некоторое время FireBird, как это лучше сделать и, в какой конфигурации это легче делать CS или SS или все равно

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 04 май 2005, 12:36

1 gfix -shut <база>
2 net send * "Покурите 15мин, база недоступна"
3 обрезаем всех юзеров файерволом
4 делаем че надо
5 gfix -online <база>
6 разрешаем опять подключение файерволом
7 net send * "Можно продолжать, база доступна"

все пункты оформить в один сценарий

Данилов Юрий
Сообщения: 31
Зарегистрирован: 27 окт 2004, 11:56

Сообщение Данилов Юрий » 05 май 2005, 02:09

DSKalugin писал(а):1 gfix -shut <база>
База в дауне. Установленные коннекты - блокированы? работают?
2 net send * "Покурите 15мин, база недоступна"
3 обрезаем всех юзеров файерволом
Юзера все обрезаны. Кошерно :) Так что с коннектами? оборваны? Что с приложениями? Как они в общем случае среагируют? Как насчет CS и SS?
4 делаем че надо
5 gfix -online <база>
6 разрешаем опять подключение файерволом
Здесь в зависимости от ответов на предыдущие вопросы. Понятно, что новые коннекты пойдут, а старые?
7 net send * "Можно продолжать, база доступна"

все пункты оформить в один сценарий
К этому пункту претензий нет. Не люблю слово "сценарий", но, во-первых, это так называется у MS, во-вторых, мало ли кто чего не любит...
Просто как-то роднее и ласковей звучит "батничек" :wink:

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 05 май 2005, 12:23

Данилов Юрий писал(а): База в дауне. Установленные коннекты - блокированы? работают?
конечно блокированы
Данилов Юрий писал(а): Юзера все обрезаны. Кошерно :) Так что с коннектами? оборваны? Что с приложениями? Как они в общем случае среагируют? Как насчет CS и SS?
Коннекты оборваны, приложения отреагируют взависимости от используемых компонент. В общем случае отругаются конечно же не зависимо от архитектуры сервера
Данилов Юрий писал(а):Понятно, что новые коннекты пойдут, а старые?
Старым амбец, приложениям необходимо переподключиться. А как ты хотел? Переколбасить всю БД и чтобы никто ничего не заметил? Волшебник, однако. Так не бывает.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 05 май 2005, 12:43

Боже, как я устал ловить за яйца этого самоуверенного ламера, чтоб не загонял людей в гроб своими советами...

1. Старые коннекты НЕ оборваны. Но они не могут сделать ничего, кроме как отцепиться.
2. В некоторых билдах и IB и даже FB 1.5 старые коннекты вообще спокойно продолжают работать. Это баги, но надо всё проверять на своём сервере.
3. Shutdown вообще пофиг SYSDBA и OWNER. В билдах, не затронутых упомянутыми багами, существующие их коннекты блокируются, как и все остальные, но они тут же могут сделать новые.

то есть, если сделав shutdown, взять и скопировать базу, то вероятность того, что копия неработоспособна, очень высока. И есть некоторая вероятность, что при этом будет убита основная база.

Итог, печальный, но правда. На сегодняшний день способа вчистую принудительно завершить работу пользователей с базой просто НЕТ. Для выполнения файловых операций с базой на классике после shutdown приходится килять процессы, что всегда есть некоторый риск, в случае блокированности процесса пониженный. В супере надо остановить сервер. Что, как показывают последние изыскания, тоже есть некоторый риск, причём при наличии в это время больших объёмов некоммиченных изменений этот риск возрастает и становится даже бОльшим, чем на классике. Это относится абсолютно ко всем клонам и билдам. В FB2 обещали ситуацию существенно улучшить.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 05 май 2005, 13:06

Merlin писал(а):Боже, как я устал ловить за яйца этого самоуверенного ламера, чтоб не загонял людей в гроб своими советами...
1. Старые коннекты НЕ оборваны. Но они не могут сделать ничего, кроме как отцепиться.
Ну вопервых не надо хамить, это прежде всего показывает твой низкий уровень культуры, нежели высокий уровень знаний. А вовторых научись наконец читать тему с начала, а не с конца. Я предлагал помимо shutdown блокировать пользователей файерволом, а это не что иное как обрывание коннектов.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 05 май 2005, 13:35

DSKalugin писал(а):
Merlin писал(а):Боже, как я устал ловить за яйца этого самоуверенного ламера, чтоб не загонял людей в гроб своими советами...
1. Старые коннекты НЕ оборваны. Но они не могут сделать ничего, кроме как отцепиться.
Ну вопервых не надо хамить, это прежде всего показывает твой низкий уровень культуры, нежели высокий уровень знаний.
Совершенно верно, я необразованный хам. А тебе вот сюда:
http://lleo.aha.ru/na/index.shtml
DSKalugin писал(а): А вовторых научись наконец читать тему с начала, а не с конца. Я предлагал помимо shutdown блокировать пользователей файерволом, а это не что иное как обрывание коннектов.
А ты научись видеть дальше собственного носа, прежде чем учить людей ломать базы. Файерволом он, мля, отсёк. Ещё предложи задачи на клиентах абортировать. А про то, что серверный процесс это заметит по умолчанию через 3 минуты в случае использования dummy packets, а в случае so_keepalive в соответствии с индидуальными настройками TCP/IP (а то и вообще не заметит, если там долгоиграющий запрос, ничего не возвращающий клиенту, молотит) - в курсе? А что сборке мусора твой файервол вообще до фени? Развлекайся у себя как хош, твоё дело, слова не скажу, а людям жизнь портить прекращай.

Ответить