gfix -t all база-данных
Используйте ID для ввода идентификатора одной транзакции, для которой вы хотите выполнить двухфазное восстановление:
gfix -t nnnnnn база-данных
Здесь nnnnnn - идентификатор транзакции.
Задание подтверждения или отката
Чтобы попытаться разрешить зависшие транзакции их подтверждением, используйте переключатель-c[ommit] {ID | all}. Для восстановления всех зависших транзакций таким способом введите:
gfix -с all база-данных
Для разрешения одной зависшей транзакции попыткой ее подтверждения введите:
gfix -с nnnnnn база-данных
Здесь nnnnnn - идентификатор транзакции.
Для попытки разрешения зависших транзакций путем их отката используйте переключатель -r[ollback] {ID | all}. Для восстановления всех зависших транзакций таким способом введите:
gfix -r all база-данных
Для разрешения одной зависшей транзакции попыткой ее отката введите:
gfix -r nnnnnn база-данных
Здесь nnnnnn - идентификатор транзакции.
Концепция, создание и поддержка теневых копий базы данных подробно обсуждались в главе 15. Утилита gfix имеет средства для работы с теневыми копиями.
Активизация теневой копии
Ключ для активизации теневой копии, когда база данных "умерла", -ac[tivate]. Синтаксис:
gfix -ас <���путь-к-первому-тому-оперативном-копии>
Предположим, что первым томом теневой копии является employee.shl. Находится в каталоге /opt/dbshadows. Вы можете активизировать ее следующей командой:
./gfix -ас /opt/dbshadows/employee.shl
Удаление недоступных теневых копий
Переключатель для удаления недоступных теневых копий -k[ill]. Синтаксис:
gfix -k[ill] база-данных
Для удаления недоступных теневых копий для базы данных employee.fdb введите:
./gfix -k /opt/firebird/examples/employee.fdb
Список переключателей gfix
Все доступные переключатели gfix описаны в табл. 39.1. Часто для одной задачи применимо несколько переключателей. Порядок переключателей не является важным, однако просмотрите предыдущие замечания в этой главе для определения подходящих комбинаций. Комбинации, не имеющие логического смысла, приведут к исключениям.
Таблица 39.1. Список переключателей gfix
Переключатель
|
Задача
|
Назначение
|
-ас[tivate]
|
файл-оперативной-копии
|
Оперативная копия
|
Используется с путем к первичному файлу оперативной копии для активизации оперативного копирования
|
-at[tach]
|
Закрытие базы данных
|
Используется с -shut для предотвращения новых подключений к базе данных за период времени ожидания в n секунд. Закрытие будет отменено, если все еще будут оставаться активные соединения по прошествии n секунд
|
-b[uffers] n
|
Буферы кэша
|
Устанавливает размер буферов кэша базы данных по умолчанию в n страниц. Это рекомендованный способ установки размера кэша базы данных по умолчанию
|
-ca[che] n
|
Не используется
|
|
-c[ommit] {ID | all}
|
Восстановление транзакций
|
Подтверждает зависшую транзакцию с идентификатором ID или подтверждает все зависшие транзакции
|
-f[orce] n
|
Закрытие базы данных
|
Используется вместе с -shut для форсированного закрытия базы данных через n секунд - радикальное решение, которое должно быть использовано как последнее средство
|
-full
|
Починка данных
|
Используется вместе с -v[alidate] для проверки структур записей и страниц; освобождает неназначенные фрагменты записей
|
-h[ousekeeping]
|
Чистка
|
Изменяет порог автоматической чистки в n транзакций. Значение по умолчанию 20 000. Устанавливайте n в 0 для отключения автоматической чистки
|
-i[gnore]
|
Починка данных
|
Игнорировать ошибки контрольных сумм при проверке или чистке
|
-k[ill] база-данных
|
Теневая копия
|
Используется вместе с путем к файлу базы данных для уничтожения всех неиспользуемых теневых копий
|
-l[ist]
|
Восстановление транзакций
|
Отображает идентификаторы всех зависших транзакций и указывает, что должно произойти, если будет задано -t [wo_phase] при автоматическом двухфазном подтверждении
|
-m[end]
|
Починка данных
|
Отмечает разрушенные записи как неиспользуемые, следовательно, они будут пропущены при последующей проверке или копировании
|
Читать дальше