Когда вам нужно восстановить базу данных на сервере POSIX, которая была скопирована с использованием Менеджера сервисов, вы должны или использовать Менеджер сервисов, или соединиться с системой как владелец этого файла.
Когда режим -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 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 (Невозможно подтвердить индекс <���строка>)
|
Возможно, данные конфликтуют с определенными индексами. Попытайтесь выполнить восстановление с использованием "неактивного" режима для предотвращения создания индексов
|
|
Cannot find column for blob ... (Невозможно найти столбец blob)
|
Используйте -one_at_a_time для отыскания проблемной таблицы
|
|
Cannot find table . . . (Невозможно найти таблицу <���строка>)
|
То же
|
|
Cannot open backup file (Невозможно открыть файл копии <���строка>)
|
Исправьте имя файла копии и выполните снова
|
|
Cannot open status and error output file
(Невозможно открыть выходной файл состояния и ошибок <���строка>)
|
Сообщения были направлены в файл с неверным именем или в файл, который уже существует. Проверьте формат задания файла или полномочия к каталогу выходного файла, либо удалите существующий файл, либо выберите другое имя для файла протокола
|
|
Commit failed on table (Ошибка подтверждения таблицы <���строка>)
|
Разрушение данных или нарушение ограничения целостности в указанной таблице. Проверьте метаданные или восстановите "одну таблицу за раз"
|
Читать дальше