metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2016-12-10 06:36 pm

Firebird 3.0

Как известно, после многолетних трудов был выпущен Firebird 3.0.
Если подключаться к нему клиентом от Firebird 2.5 то он выдает сообщение об ошибке "connection rejected by remote interface".
Если я правильно понимаю, это старый клиент так реагирует, когда его сервер посылает, когда обнаруживает устаревший wire-протокол, который по умолчанию запрещен (его надо разрешать в firebird.conf или использовать клиент от 3.0): https://stackoverflow.com/questions/30390465/connection-rejected-by-remote-interface-connecting-to-firebird-3-with-pdo

Еще в нем при инсталяции руками надо подключаться локально к произвольной базе (в примерах используется демо-база employee) и создавать юзера SYSDBA на весь сервер. Немного смущает что для манипуляции общей базой юзеров надо подключаться к частной базе - нелогично.
И еще надо давать пользователям - владельцам БД явные права на создание баз.

Посмотрю, что будет дальше, но уже понятно что процесс миграции с 2.5, если таковой понадобится, будет сложный.

[identity profile] q987.livejournal.com 2016-12-11 10:12 am (UTC)(link)
Там везде стандартный ответ "воостановите из бэкапа"...

А если не секрет, 1-2 раза в год это на сколько развернутых систем (интересует порядок 1-10-100) и каково примерно среднее/максимальное время починки?

PS. Недавно попросили починить маленькую (7GB) FB базу, пока знакомился с FB и чинил - сильно удивился проблеме невостановимости полного бэкапа и возможности скопировать файл во время работы. Но круче всего версионность метаданных и обновление процедур (быстрый bugfix на месте), которые используются другими процедурами, которые вызваны в подключенных сессиях...

[identity profile] fraks-nsk.livejournal.com 2016-12-11 10:26 am (UTC)(link)
Копирование файла базы с которой идет работа - это убийство базы своими руками.
И в ряде случаев восстановлению не подлежит. Не надо так делать.
Причем мусором будет как копия базы так и ее исходник.
Пробовал такое, слава богу на тестовой базе.
Edited 2016-12-11 10:37 (UTC)

[identity profile] metaclass.livejournal.com 2016-12-11 10:57 am (UTC)(link)
Пару недель назад умельцы из одного проклятого белорусского города так копировали БД, забыв выключить расписания заданий раз в 10 минут.
Хорошо, что убилась только консистентность между таблицей аудита подключений и генератором ее ID.
Кто б знал, как вот эти местные "ИТшники" бесят - слов нет передать. И, блядь, главное все же сами всегда лезут, никогда не позвонят в саппорт, ничего.

[identity profile] fraks-nsk.livejournal.com 2016-12-11 12:22 pm (UTC)(link)
Я использую файловое копирование, но предварительно переименовав файл. Если переименовка обломалась - значит он таки использовался. А если переименование удалось - по старому имени никто не подключится.
Это на винде работает, на юниксах нет.

[identity profile] metaclass.livejournal.com 2016-12-11 10:54 am (UTC)(link)
Не, я чинил некоторые повреждения и руками. Особо клинический случай был, когда у клиентов убилось 16 кб системных таблиц в самом начале БД. Взял их из бэкапа и трансплантировал поверх, затем бэкап-ресторе.

Файл во время работы ни в одной БД вообще копировать нельзя - он же не консистентный будет.
Невосстановимость бэкапов и то что бэкап бинарный и его нельзя руками починить - тоже маразм известный.
А замена процедур на ходу - вполне штатная ситуация.

[identity profile] q987.livejournal.com 2016-12-11 11:15 am (UTC)(link)
"Особо клинический случай был, когда у клиентов убилось 16 кб системных таблиц в самом начале БД. Взял их из бэкапа и трансплантировал поверх, затем бэкап-ресторе. " - круто !

Edited 2016-12-11 11:21 (UTC)