gfix -mend -full -ignore {путь}repaircopy.fdb -user SYSDBA -password yourpword
или короче:
gfix -m -f -i {nyTb}repaircopy.fdb -user SYSDBA -password yourpword
Проверка после исправления -mend
После того как команда с переключателем -mend завершит свою работу, опять выполните
gfix -v -full {путь}repaircopy.fdb -user SYSDBA -password yourpword для проверки, остались ли еще разрушенные структуры.
Очистка и восстановление базы данных
Затем выполните полное резервное копирование и восстановление базы данных с использованием gbak, даже если все еще появляются сообщения об ошибках. Добавьте переключатель -v[erbose], чтобы видеть подробности. В своей простейшей форме команда резервного копирования может быть (все в одной команде):
gbak -b -v -i {путь}repaircopy.fdb {путь}repaircopy.fbk -user SYSDBA -password yourpword
Сложности в процессе резервного копирования
Проблемы сборки мусора могут привести к аварийному завершению gbak. Если такое произошло, добавьте переключатель -[g], чтобы сообщить, что не надо собирать мусор.
gbak -b -v -i -g {путь}repaircopy.fdb {путь}repaircopy.fbk -user SYSDBA -password yourpword
Если есть разрушения в версиях записей, связанных с зависшей транзакцией, вам может понадобиться добавить переключатель -limbo:
gbak -b -v -i -g -1 {путь}repaircopy.fdb (путь)repaircopy.fbk -user SYSDBA -password yourpword
Восстановление очищенной резервной копии в качестве новой базы данных
Теперь создайте новую базу данных из резервной копии с переключателем -v[erbose], чтобы наблюдать, что восстанавливается:
gbak -create -v {путь}repaircopy.fbk (путь)reborn.fdb -user SYSDBA -password yourpword
Проверка восстановленной базы данных
Убедитесь, что восстановление базы данных разрешило проблемы, выполнив проверку восстановленной базы данных с использованием переключателя -n[o update]:
gfix -v -full {путь}reborn.fdb -user SYSDBA -password yourpword
Если существуют проблемы с восстановлением, вам может быть придется рассмотреть возможности новых попыток с использованием других переключателей gbak для уменьшения источников этих проблем, например:
* переключатель -i[nactive] уменьшит проблемы с разрушенными индексами за счет восстановления без активизации каких-либо индексов. Потом вы сможете активизировать индексы вручную по одному за раз, пока не будет найден проблемный индекс;
* переключатель -o[ne_at_a_time] будет восстанавливать и подтверждать каждую таблицу одну за другой, позволяя вам восстанавливать хорошие таблицы и пропуская проблемные.
Как поступать, если проблемы остались
Если предыдущие шаги не дают результатов, но вы все еще в состоянии соединяться с разрушенной базой данных, можно переслать структуры таблиц и данных из разрушенной базы данных в новую, используя инструмент qli (Query Language Interpreter). Этот инструмент находится в вашем каталоге Firebird /bin, а руководство по его синтаксису в формате Adobe PDF может быть загружено с http:// www.ibphoenix.com/downloads/qIi_syntax.pdf. qli является старым инструментом, однако он все еще работает, когда вам понадобится. Поищите в Интернете, как выполнить перекачку данных между базами данных с использованием qli.
В приложении 5 есть ссылки на инструменты починки базы данных, которые, возможно, помогут вам в восстановлении разрушенной базы данных.
Существуют компании, которые предоставляют сервис по восстановлению и починке сильно разрушенных баз данных Firebird и InterBase - хотя во время написания этой книги автор услышала о базе данных Firebird, которая была разрушена так, что для ее исправления требовался чародей!
Приложение 5. Инструменты администрирования
Одной из "приятных проблем" новичка в использовании Firebird является выбор инструментов. Почему? Потому что сообщество Firebird имеет огромное количество прекрасных инструментов, как коммерческих, так и свободно распространяемых. Чуть ли не все коммерческие продавцы предоставляют свободные пробные версии, так что вашей самой большой проблемой является выбор такого инструмента, который лучше всего подходил бы вам.
Графические инструменты администратора
Следующий список является лишь выборкой некоторых наиболее популярных элементов. Полный список см. на http://www.ibphoenix.com/main.nfs?a=ibphoenix &page=ibp_admin_tooIs.
Database Workbench может соединяться с любым сервером Firebird на любой платформе. Он имеет полный визуальный интерфейс, браузер метаданных и зависимостей, средства отладки хранимых процедур, инструменты миграции данных, импорт/экспорт, редактор BLOB, управление пользователями и полномочиями, генератор тестовых данных, поиск метаданных, репозиторий фрагментов кода, средства печати метаданных, автоматическую генерацию триггеров для автоинкрементных ключей, не чувствительный к регистру поиск столбцов и многое другое.
Читать дальше