FB 1.5.2: проблема с восстановлением базы

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

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

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

Сообщение Merlin » 25 фев 2005, 14:16

Лысый писал(а): Я например, так и не решил для себя что лучше: варнинги и восстановимый бакап или ерор и иди кури доку :lol:
Не надо максимализьма :) Нужны все режимы - умолчательный жёсткий, опциональные для вытаскивания из gbk всего что можно вытащить.

Boris Kuritsin
Сообщения: 11
Зарегистрирован: 24 фев 2005, 13:10

Сообщение Boris Kuritsin » 27 фев 2005, 01:41

Merlin писал(а):select * from rdb$user_privileges UP
where
UP.rdb$object_type=13
and
not exists(select 1 from rdb$roles RL where RL.rdb$role_name=UP.rdb$relation_name)


Тот же запрос в случае подозрения на битые системные индексы:

<...>

Запрос, о котором говорил в прошлый раз, в случае того же подозрения:

<...>

Если всё это шаманство не помогает, то, возможно, дело в повреждении таблицы RDB$SECURITY_CLASSES. Учить её чинить по переписке я не возьмусь. Кстати, owner менять хакерскими методами у объектов в базе не пытался? Такие попытки при неверной последовательности действий ведут к её повреждениям.
Короче, все эти запросы вернули пустой набор данных. Но решение (может быть, некрасивое) найдено - восстанавливать базу без "commit after each table" - не понимаю почему, но это срабатывает и помогает! :D

Поэтому спасибо всем за обсуждение и подсказки, тему как животрепещущую можно считать закрытой, а как теоретическую - это вам виднее... :)

Boris Kuritsin
Сообщения: 11
Зарегистрирован: 24 фев 2005, 13:10

Сообщение Boris Kuritsin » 27 фев 2005, 01:43

dimitr писал(а):Дискуссия развернулась довольно интересно, но зачастую конкретная проблема автора темы решается установкой (или снятием?) флажка "commit after each table" во время рестора.
Сработало!!! Потрясающе! Но почему?!

dima_mr
Сообщения: 2
Зарегистрирован: 21 фев 2005, 21:53

Сообщение dima_mr » 03 ноя 2005, 08:27

Вчера столкнулся с аналогичной проблемой. При снятом "commit after each table" все работает, иначе вылетает. Сделал тдельную копию базы, содержащую только метаданные. Далее удалял оттуда объекты частями, проверяя восстановление.
Результат. Данную ошибку 100%- но выдают таблицы, в которых есть COMPUTED BY поля, содержащие UDF. Убрал такие поля (сделал обыкновенные с триггером) - все заработало. Сервер - Firebird 1.5.2.4731

Ответить