Когда режим -service не используется, владение файлом копии присваивается тому, кто выполнял gbak.
Эти ограничения не применяются к платформе Windows.
Копирование
В этом примере мы копируем базу данных, находящуюся на диске D: удаленного сервера, в файл копии на диске F: той же самой удаленной машины. Мы направляем подробный отчет об операции в файл протокола в другом каталоге. Как обычно, пример является одной строкой:
gbak -b -se hotchicken :service_mgr
d: \data\stocks.fdb
f:\backups\stocks.20040715.fbk
-v -y f:\backups\logs\stocks.20040715.log
! ! !
ПРИМЕЧАНИЕ. Порядок переключателей имеет значение, когда вы используете переключатель -se. Если вы хотите определить файл протокола, убедитесь, что вы поместили его после задания хост-сервера, чтобы избежать ошибки в команде, по причине невозможности отыскать размещение файла протокола.
. ! .
Восстановление
Следующий пример восстанавливает многотомную базу данных из каталога /january на сервере hotchicken в каталог /currentdb. Он использует переключатель -r[epiace_database] и будет перезаписывать базу данных magic.fdb, если она будет найдена в /currentdb. Первые два файла восстанавливаемой базы данных имеют длину 500 страниц, а последний будет увеличиваться в размерах по необходимости.
gbak -r -user frodo -pas pipeweed -se hotchicken:service_mgr
/january/magicl.fbk /january/magic2.fbk /january/magicLast.fbk
/currentdb/magic.fdb 500 /currentdb/magic.fd2 500
/currentdb/magic.fd3
Следующий пример выполняется на сервере hotchicken и восстанавливает копию, которая находится на hotchicken, на другой сервер с именем icarus:
gbak -с -user frodo -pas pipeweed -se hotchicken:service_mgr
/january/magic. fbk j carus : /currentdb/raagic. fdb
Сообщение об ошибках gbak
В табл. 38.3 описаны сообщения об ошибках, которые могут возникнуть в процессе копирования и восстановления, вместе с некоторыми советами, как поступать с этими ошибками.
Таблица 38.3. Сообщения об ошибках gbak при копировании и восстановлении
Сообщение об ошибке |
Причины и рекомендуемые действия |
Array dimension for column <string> is invalid (Ошибочная размерность массива для столбца <строка>) |
Исправьте определение массива перед копированием |
Bad attribute for RDB$CHARACTER SETS (Неверный атрибут для RDB$CHARACTER_SETS) |
Используется несовместимый набор символов |
Bad attribute for RDB$COLLATIONS (Неверный атрибут для RDB$COLLATIONS) |
Исправьте атрибут в указанной системной таблице |
Bad attribute for table constraint (Неверный атрибут для ограничения таблицы) |
Проверьте ограничения целостности. Если ошибка возникла при восстановлении, рассмотрите возможность использования режима -no_validity для удаления проверки ограничений |
Blocking factor parameter missing (Отсутствует параметр коэффициента блокирования) |
Задайте числовой аргумент для режима "коэффициент" (например, для ленточного устройства для копии) |
Cannot commit files (Невозможно подтвердить файлы) |
База данных содержит дефекты или нарушения ограничений целостности метаданных. Попытайтесь восстановить таблицы с использованием режима -one at a time или удалите проверку ограничений, используя режим -no_yalidity |
Cannot commit index <string> (Невозможно подтвердить индекс <строка>) |
Возможно, данные конфликтуют с определенными индексами. Попытайтесь выполнить восстановление с использованием "неактивного" режима для предотвращения создания индексов |
Cannot find column for blob ... (Невозможно найти столбец blob) |
Используйте -one_at_a_time для отыскания проблемной таблицы |
Cannot find table <string> . . . (Невозможно найти таблицу <строка>) |
То же |
Cannot open backup file <string> (Невозможно открыть файл копии <строка>) |
Исправьте имя файла копии и выполните снова |
Cannot open status and error output file <string> (Невозможно открыть выходной файл состояния и ошибок <строка>) |
Сообщения были направлены в файл с неверным именем или в файл, который уже существует. Проверьте формат задания файла или полномочия к каталогу выходного файла, либо удалите существующий файл, либо выберите другое имя для файла протокола |
Commit failed on table <stririg> (Ошибка подтверждения таблицы <строка>) |
Разрушение данных или нарушение ограничения целостности в указанной таблице. Проверьте метаданные или восстановите "одну таблицу за раз" |
Conflicting switches for backup/restore (Конфликт переключателей для копирования/восстановления) |
Режим только для копирования и режим только для восстановления были использованы в одной операции. Исправьте и снова выполните команду |
Couxd not open file name <string> (Невозможно открыть файл с именем <строка>) |
Исправьте имя файла и снова выполните команду |
Could not read from file <string> (Невозможно читать из файла <строка>) |
Исправьте имя файла и снова выполните команду |
Could not write to file <string> (Невозможно писать в файл <строка>) |
Исправьте имя файла и снова выполните команду |
Datatype n not understood (Тип данных n неизвестен) |
Где-то задан неверный тип данных. Проверьте метаданные и при необходимости повторите команду с использованием -one at a time |
Database format n is too old to restore to (Формат базы данных слишком старый для восстановления) |
Используемая версия gbak несовместима с версией Firebird, которым создавалась база данных, указанная для копирования. Попытайтесь скопировать эту базу данных с использованием режима -expand или -old, а затем восстановите ее |
Database <string> already exists (База данных <строка> уже существует) |
Вы использовали -create при восстановлении файла копии, но указанная база данных уже существует. Если вы действительно хотите заменить существующую базу данных, используйте переключатель -R, в противном случае введите другое имя файла базы данных |
Could not drop database <string> (database might be in use) (Невозможно удалить базу данных <строка> (возможно, база данных используется)) |
Вы использовали -replace при восстановлении файла в существующую базу данных, но эта база данных находится в использовании. или измените имя у восстанавливаемой базы данных, или подождите завершения использования существующей базы данных |
Do not recognize record type n . . . (He распознан тип записи n) |
Проверьте метаданные и при необходимости выполните восстановление с использованием -one at_a time |
Do not recognize <string> attribute n - continuing ... (He распознан атрибут n <строка> - выполнение продолжается) |
Не фатальная ошибка в данных |
Do not understand BLOB INFO item n ... (Непонятный элемент BLOB INFO) |
|
Error accessing BLOB column <string> - continuing ... (Ошибка при обращении к столбцу BLOB <строка> - выполнение продолжается) |
Не фатальная ошибка в данных |