Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

ГЛАВА 39. Утилита gfix.

Как пользователь SYSDBA или владелец базы данных, вы можете использовать административный инструмент командной строки gfix для подключения к базе данных и выполнения разнообразных задач по поддержанию работоспособности и восстановлению базы данных.

Используя gfix, вы можете:

* выполнять чистку (sweep);

* изменять интервал автоматического sweep;

* инициировать закрытие базы данных для получения исключительного доступа и опять переводить базу данных в активное состояние;

* переключаться между

синхронным и асинхронным выводом;

* переводить базу данных для чтения/записи в базу данных только для чтения и наоборот;

* изменять диалект;

* устанавливать размер кэша базы данных;

* отыскивать и подтверждать или отменять зависшие транзакции;

* чинить разрушенные базы данных и данные при некоторых условиях;

* активировать и удалять теневые копии базы данных.

Использование gfix

Утилита gfix может быть запущена только из командной строки. Для использования этой утилиты вы должны быть владельцем базы данных или пользователем SYSDBA. Для запуска gfix откройте окно командной строки и перейдите в каталог /bin в корневом каталоге Firebird.

Синтаксис команды gfix:

gfix [режимы] база-данных

База-данных должна быть полным именем первичного файла базы данных, с которой вы собираетесь работать.

Первичный файл однофайловой базы данных является собственно файлом базы данных. Для многофайловых баз данных первичный файл является первым файлом в наборе.

Режимы являются допустимой комбинацией переключателей и, в некоторых случаях, аргументов. Они представлены позже в табл. 39.1. Для большинства переключателей могут быть использованы сокращения. Необязательные символы показаны в квадратных скобках ([ ]).

! ! !

СОВЕТ. Как и в других инструментах командной строки Firebird, вы можете включить любое количество необязательных символов в имя переключателя вплоть до полного имени переключателя, если ни один символ не будет пропущен в последовательности слева направо.

. ! .

Получение доступа к базе данных из gfix

Если вы соединяетесь с сервером удаленно, то в список переключателей вы должны включить имя пользователя и пароль для пользователя SYSDBA или для владельца базы данных. Такими переключателями являются:

– pas[sword] <пароль> -u[ser] <имя>

Следующий пример команды gfix устанавливает синхронный режим (Forced Writes).

POSIX:

bin]$ ./gfix -w sync customer.fdb -pas heureuse -user SYSDBA

Windows:

bin> gfix -w sync customer.fdb -pas heureuse -user SYSDBA

Пользователь и пароль при локальном соединении

Перед стартом сервера для расширенной локальной работы с копией проблемной базы данных или для восстановления транзакции вы можете добавить две системные переменные ISC_USER и ISC PASSWORD для исключения необходимости набора имени и пароля пользователя SYSDBA или владельца базы данных в каждой команде:

shell prompt> SET ISC_USER=SYSDBA

shell prompt> SET ISC_PASSWORD=heureuse

Из

соображений безопасности вы должны удалить эти переменные окружения, как только завершите вашу работу. Не рекомендуется конфигурировать эти переменные за пределами видимости вашего текущего окна командной строки или делать их постоянными в системе.

Чистка базы данных

Многоверсионная архитектура Firebird порождает ситуацию, когда множество версий строк данных хранится непосредственно на страницах базы данных. Firebird сохраняет старые версии при изменении или удалении строки. При нормальном ходе событий устаревшие версии записей, созданные изменениями данных, вычищаются фоно- вой сборкой мусора. Однако при некоторых условиях эти старые версии могут оставаться "застрявшими" и накапливаться, приводя к росту файла (файлов) базы данных пропорционально размеру данных, к которым происходит обращение. Иногда застрявшие транзакции могут сильно влиять на производительность.

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

Неплохая стратегия - отключение автоматической чистки и управление чисткой вручную. Вы можете отслеживать статистику базы данных и выполнять ручную чистку или "по потребности", или по составленному графику. Например, можно включить команду очистки в скрипт стоп или в выполняемый по расписанию пакетный файл.

Информацию о том, как статистический отчет по базе данных может помочь в анализе требований к чистке вашей базы данных, см. в разд. "Получение статистики по индексам" главы 18.

Сборка мусора

Firebird выполняет сборку мусора в фоновом режиме для ограничения роста базы данных из-за устаревших версий записей. Сборка мусора освобождает память, отведенную устаревшим версиям строк, насколько это возможно, после освобождения строк транзакциями, их использующими. Транзакции начинают сборку мусора, когда они встречают старые версии строк, отмененные другими транзакциями. Удаленные строки и версии, оставленные после отката транзакции, избегают такой сборки мусора. Строки, к которым редко происходит обращение, также накапливают старые версии.

Еще сборка мусора происходит при резервном копировании базы данных с использованием утилиты gbak, поскольку задача gbak имеет дело с каждой строкой в каждой таблице. Однако gbak не выполняет полной чистки. Как и обычная сборка мусора, она оставляет версии удаленных и отмененных по rollback записей. Чистка является единственным способом избавиться от этого, она выполняется быстрее, чем восстановление базы данных из резервной копии.

Интервал чистки

Поделиться:
Популярные книги

Белые погоны

Лисина Александра
3. Гибрид
Фантастика:
фэнтези
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Белые погоны

Черный дембель. Часть 1

Федин Андрей Анатольевич
1. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 1

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Последний из рода Демидовых

Ветров Борис
Фантастика:
детективная фантастика
попаданцы
аниме
5.00
рейтинг книги
Последний из рода Демидовых

Чиновникъ Особых поручений

Кулаков Алексей Иванович
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чиновникъ Особых поручений

Попаданка в академии драконов 4

Свадьбина Любовь
4. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.47
рейтинг книги
Попаданка в академии драконов 4

Боги, пиво и дурак. Том 6

Горина Юлия Николаевна
6. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 6

Курсант: Назад в СССР 10

Дамиров Рафаэль
10. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 10

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Болотник 2

Панченко Андрей Алексеевич
2. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 2

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая

Небо для Беса

Рам Янка
3. Самбисты
Любовные романы:
современные любовные романы
5.25
рейтинг книги
Небо для Беса

Надуй щеки! Том 4

Вишневский Сергей Викторович
4. Чеболь за партой
Фантастика:
попаданцы
уся
дорама
5.00
рейтинг книги
Надуй щеки! Том 4