Шрифт:
Интервал:
Закладка:
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
Database Workbench может соединяться с любым сервером Firebird на любой платформе. Он имеет полный визуальный интерфейс, браузер метаданных и зависимостей, средства отладки хранимых процедур, инструменты миграции данных, импорт/экспорт, редактор BLOB, управление пользователями и полномочиями, генератор тестовых данных, поиск метаданных, репозиторий фрагментов кода, средства печати метаданных, автоматическую генерацию триггеров для автоинкрементных ключей, не чувствительный к регистру поиск столбцов и многое другое.
Окружение: Windows.
Другая инфорлюция: коммерческий программный продукт от Upscene Productions. Свободная пробная версия доступна на http://www.upscene.com.
IBExpert
Этот нагруженный возможностями инструмент администрирования имеет средства гиперссылок и возможность хранения историй во всех редакторах. Он также имеет SQL Monitor, визуальный конструктор запросов, режимы фильтрации выхода для запросов, фоновое выполнение запросов, прямой импорт данных CSV, завершение кода, отладку, трассировку и советы по PSQL, настраиваемые шаблоны клавиатуры, редактирование и отображение BLOB (включая рисунки и двоичные коды), редакторы пользователей и полномочий, режим автоматического предоставления полномочий для создания новых объектов, моделирование сущностей, средство сравнения баз данных с созданием обновляющих скриптов, формирование планов и выполнения, инструменты для скриптов, включая скрипты по выводу данных BLOB, предварительно определенные и определенные пользователем отчеты схемы, мастер резервного копирования, средства диагностики соединения, поддержку нескольких языков и многое другое.
Окружение: Windows.
Другая информация: коммерческий[167] программный продукт от H-К Software GmbH. Доступно Free Personal Edition (Свободное персональное издание). Также доступна версия для образовательных целей.
BlazeTop
BlazeTop имеет необычный модульный интерфейс для основных инструментов, что помогает решить проблему "перегрузки возможностей" - вы инсталлируете только модули, которые вы хотите использовать. Он включает интеллектуальный текстовый редактор, который создает шаблоны операторов, а также включает средства управления схемой, SQL Monitor, интерактивное редактирование данных, инспектор объектов в стиле Delphi для объектов базы данных и явное управление транзакциями. Он может одновременно запускать множество сессий баз данных.
Окружение: Windows.
Другая информация: коммерческий программный продукт от Devrace. Свободная пробная версия доступна на http://www.devrace.com/en/blazetop.
IB Access
Этот кроссплатформенный менеджер баз данных предоставляет графический интерфейс для реализации всех задач, которые Firebird не доверяет выполнять инструментам командной строки, делая его совместимым с Классическими серверами так же, как и с Суперсерверами. Он предоставляет оперативную справку, конфигурацию рабочего стола для пользователя или для сервера, а также возможность запуска нескольких экземпляров для выполнения долгих задач в фоновом режиме. В нем вы можете отслеживать операторы SQL в процессе их выполнения; просматривать и управлять объектами данных, полномочиями и полями BLOB; выполнять запросы с заменяемыми параметрами; выполнять скрипты шаг за шагом.
Окружение: Linux, Windows.
Другая информация: открытые исходные тексты (Mozila Public License), свободный программный продукт от Тони Мартира (Toni Martir). Доступны исходные тексты. См. http://www.ibaccess.org,
IBAdmin
Это онлайновый и офлайновый менеджер баз данных, предоставляющий визуальное проектирование баз данных - инструменты CASE, - отладчик SQL, анализатор кода, завершение кода, сравнение базы данных с необязательным скриптом обновления, макровозможности, инструменты выполнения скриптов, контроль версий для модулей PSQL, инструмент исследования базы данных, средства для добавления ваших собственных инструментов (предоставляется пример).
Окружение: Windows, Linux (усеченный вариант).
Другая информация: коммерческий программный продукт от Sqlly Development. Продукт доступен в профессиональной, стандартной и "живой" версиях. Загрузка пробной версии осуществляется с http://www.sqlly.com.
IB_SQL
Компактная утилита с множеством инструментов, является заменой старой программы Borland W1SQL с "живым" браузером данных и метаданных, выделением метаданных, перекачкой данных, экспортом, управлением пользователями, отслеживанием SQL и профилированием, использованием скриптов, интерактивными запросами с заменяемыми параметрами и отображением плана. Содержит средства, которые автоматически сохраняют подробности подключения к различным базам данных и инструмент Query Forms для сохранения указанных запросов для будущего использования.
IB SQL может быть загружен в виде двоичных кодов или настраиваемых и компилируемых в Delphi исходных текстов, поставляемых в пробном комплекте IB Objects (IB SQL.dpr в корневом каталоге). Компилированный таким образом IB SQL покажет модальный экран при старте вне IDE Delphi или C++ Builder.
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Психбольница в руках пациентов - Алан Купер - Программирование