. ! .
Возвращаемые коды и ответная реакция
Копирование базы данных, выполняемое под Windows, возвращает код 0 при успешном завершении и 1 при ошибках. Если встретилась ошибка, посмотрите файл firebird.log (interbase.log в версии 1.0.x). Для получения полного протокола копирования используйте переключатели -у и -v.
Выполнение восстановления
Синтаксис восстановления базы данных из копии следующий.
POSIX:
$] ./gbak {-c[reate] | -r[eplace_database] } <���режимы> исходная-копия база-данных или
$] /opt/firebird/bin/gbak {-c[reate] | -r[eplace_database] } <���режимы> исходная-копия база-данных
Windows:
C:\Program Files\Firebird\Firebird_1_5\bin> {-c[reate] | -r[eplace database] } <���режимы> исходная-копия база-данных
ИЛИ
С: \> C:\Program Files\Firebird_1_5\bin\gbak {-c[reate] | -r[eplace database] } <���режимы> исходная-копия база-данных
Аргументы gbak для восстановления
исходная-копия- полный путь и имя файла копии gbak. Если копия содержит несколько файлов, укажите только первый (первичный) файл gbak. В POSIX исходной- копией может быть также stdin, в этом случае gbak читает свои входные данные из стандартного ввода (обычно канал).
База-данных- полный путь и имя файла восстанавливаемой базы данных. В Firebird 1.5 это может быть алиас. База может быть одним файлом или множеством файлов. Возможные варианты синтаксиса баз данных обсуждаются в следующих разделах этой главы.
Режимы могут быть допустимой комбинацией переключателей из табл. 38.2. Переключатели нечувствительны к регистру.
Переключатели восстановления
В табл. 38.2 перечисляются и описываются переключатели, которые могут быть использованы в gbak при выполнении восстановления базы данных.
Таблица 38.2. Переключатели gbak для выполнения восстановления базы данных
Переключатель
|
Эффект
|
-c[reate database]
|
Восстанавливает базу данных в новый файл
|
-b[uffers]
|
Устанавливает значение по умолчанию для размера кэша (в страницах базы данных) для восстанавливаемой базы данных
|
-i[nactive]
|
Делает неактивными индексы в восстанавливаемой базе данных. Полезно при повторной попытке восстановления, когда первая попытка оказалась неудачной из-за ошибок индекса
|
-k[ill]
|
Подавляет создание ранее определенных теневых копий (shadow) [152] Будьте внимательны, -k обеспечивает не только восстановление БД без shadow, но и удаление существующих shadow с именами, сохраненными в файле резервной копии. Этот баг исправлен только в Firebird 2.0 (см. баг № 1122344 в багтрекере проекта Firebird: sf.net/projects/firebird). - Прим. науч. ред.
|
-mo[de] {read write | read_only}
|
Задает, будет ли восстанавливаемая запись только для чтения или для чтения/записи. Возможные значения read_write (по умолчанию) и read only
|
-n[o validity]
|
Удаляет ограничения проверки данных из восстанавливаемых метаданных. Используйте, если вам нужно повторить попытку восстановления, если первая попытка оказалась неудачной из- за нарушений ограничения CHECK
|
-o[ne at a time]
|
Восстанавливает одну таблицу за один раз. Может быть использовано при частичном восстановлении, если база данных содержит разрушенные данные
|
-p[age size] n
|
Устанавливает новый размер страницы в n байтах (1024, 2048, 4096, 8192 или 16 384). Размер по умолчанию 4096. Размер страницы 16 384 байт невозможен, если файловая система не поддерживает 64-битовый ввод/вывод
|
-pa[ssword] пароль
|
Проверяет пароль вместе с -u[ser] перед попыткой создания базы данных
|
-r[eplace database]
|
Восстанавливает базу данных, заменяя существующий файл с тем же именем, если он существует; если нет, создает новый файл с указанным именем
|
-se[rvice] сервис
|
Создает восстанавливаемую базу данных на хосте, где располагаются файлы копии. Используйте этот переключатель, если вы запустили gbak с удаленного узла и хотите восстановить из копий, размещенных на том же сервере, что и база данных. Это вызывает Менеджер сервисов Firebird на серверной машине, экономит время и сетевой трафик. См. подробности в разд. "Использование gbak с Менеджером сервисов Firebird"
|
-u[ser] имя
|
Проверяет пользователя имя вместе с -pa[ssword] перед попыткой создания базы данных
|
-use_[all space]
|
Восстанавливает базу данных со 100-процентным заполнением каждой страницы данных вместо значения по умолчанию 80-процентное заполнение. Это идеал для баз данных только для чтения, поскольку им не надо иметь зарезервированное пространство на страницах базы данных для хранения версий строк при добавлении, изменении или удалении. Чтобы вернуть восстановленную базу данных к обычному коэффициенту заполнения, используйте gfix с переключателем -use (т. е. gfix -use reserve)
|
Читать дальше