Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Сообщение об ошибках gbak
Сообщение об ошибках 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 <строка> - выполнение продолжается) |
Не фатальная ошибка в данных |
ERROR: Backup incomplete The backup cannot be written to the target device or file system (ОШИБКА: копирование не завершено. Копия не может быть записана на устройство или в файл системы) |
Причинами могут быть недостаточное пространство, проблемы с выводом на устройство или разрушение данных |
Error committing metadata for table <string> (Ошибка при подтверждении метаданных для таблицы <строка>) |
Возможно, таблица разрушена. При восстановлении базы данных используйте -one at a time для изоляции таблицы |
Exiting before completion due to errors (Выход до завершения по причине ошибок) |
Это сообщение сопровождает другие сообщения об ошибках и указывает на то, что копирование или восстановление не может быть выполнено. Причину найдите в других сообщениях об ошибках |
Expected array dimension n but instead found m (Ожидается размерность массива n, но найдена m) |
Проблемы с массивом |
Expected array version number n but instead found m (Ожидается номер версии массива n, но найден m) |
Проблемы с массивом |
Expected backup database <string>, found <string> (Ожидается копия базы данных <строка>, найдена <строка>) |
Проверьте имена восстанавливаемых файлов копии |
Expected backup description record . . . (Ожидается дескриптор записи копии ...) |
|
Expected backup start time <string>, found <string> . . . (Ожидается время начала копирования <строка>, найдено <строка>) |
|
Expected backup version 1, 2, or 3. Found n ... (Ожидается версия копии 1, 2 или 3. Найдена n) |
|
Expected blocking factor, encountered <string> (Ожидается коэффициент блокирования, встречено <строка>) |
Режим -factor требует числового аргумента |
Expected data attribute . . . (Ожидается атрибут данных) |
|
Expected database description record . . . (Ожидается дескриптор записи базы данных) |
|
Expected number of bytes to be skipped, encountered <string> ... (Ожидается количество пропускаемых байтов, встречено <строка>) |
|
Expected page size, encountered <string> (Ожидается размер страницы, встречено <строка>) |
|
Режим -page_size требует числового аргумента |
Expected record length . . . (Ожидается длина записи) |
Expected volume number n, found volume m (Ожидается номер тома n, найден том m) |
|
При копировании на множество лент или восстановлении с множества лент убедитесь, что задали правильный номер тома |
Expected XDR record length ... (Ожидается длина записи XDR) |
Failed in put blr gen id ... (Ошибка в put blr gen id ...) |
|
Failed in store blr gen id ... (Ошибка в store blr gen id ...) |
|
Failed to create database <string> (Ошибка создания базы данных <строка>) |
|
Указана неверная база данных, возможно, она уже существует |
Column <string> used in index <string> seems to have vanished (Столбец <строка>, используемый в индексе <строка>, видимо пропал) |
Индекс ссылается на не существующий столбец. Проверьте определение индекса или столбца |
Found unknown switch (Найден неизвестный переключатель) |
Задан режим, не распознанный утилитой gbak |
Index <string> omitted because n of the expected m keys were found .,. (Индекс <строка> пропускается потому, что было найдено n из ожидаемых m ключей) |
Input and output have the same name Disallowed. (Вход и выход имеют одни и те же имена. Отменяется.) |
|
Файлы копии и базы данных должны иметь различные имена. Исправьте имена и выполните заново |
Length given for initial file (n) is less than minimum (jn) (Длина, указанная для начального файла (n), меньше минимума (m)) |
Недостаточное пространство было выделено для восстановления базы данных во множество файлов. Firebird автоматически увеличивает размер страницы до минимального значения. Не требуется никаких действий |
Missing parameter for the number of bytes to be skipped ... (Отсутствует параметр для количества пропускаемых байтов) |
Multiple sources or destinations specified (Задано множество входных или выходных имен) |
Только имя одного устройства может быть указано для входа или выхода |
No table name for data (He задана таблица для данных) |
База данных содержит данные, которые не относятся ни к какой таблице. Используйте gfix для проверки или починки базы данных |
Page size is allowed only on restore or create (Размер страницы допустим только для восстановления или создания) |
Режим -page size был использован при копировании вместо восстановления |
Page size parameter missing (Отсутствует параметр размера страницы) |
Режим -page_size требует числового аргумента |
Page size specified (n bytes) rounded up to in bytes (Заданный размер страницы (n байтов) округляется до m байтов) |
Не фатальная ошибка. Неверный размер страницы округляется до величины 1024, 2048, 4096, 8192 или 16 384 - которая ближе к указанной |
Page size specified (n) greater than limit (16 384 bytes) (Указанный размер страницы (n) больше максимального значения (16 384 байт)) |
Задайте размер страницы 1024, 2048, 4096, 8192 или 16 384 |
Password parameter missing (Отсутствует параметр пароль) |
Копирование или восстановление обращается к удаленному серверу. Используйте переключатель -password и задайте пароль |
Protection is not there yet (Запита пока не существует) |
Используется нереализованный режим |
-unprotected |
Redirect location for output is not specified (Перенаправление размещения для вывода не задано) |
Вы задали режим, зарезервированный для будущего использования в Firebird |
REPLACE specified, but the first file <Jstring> is a database (Задано REPLACE, но первым файлом <строка> является база данных) |
Проверьте, чтобы именем файла, следующим за режимом -replace, был файл копии, а не базы данных |
Requires both input and output file names (Требуются имена как входного, так и выходного файла) |
Задайте входной и выходной файл при копировании и восстановлении |
RESTORE: decompression length error (RESTORE: ошибка длины декомпрессии) |
Возможна несовместимость версии gbak, используемой для копирования и gbak, используемой для восстановления. Проверьте, был ли режим -expand задан при копировании |
|
Restore failed for record in table <string> (Ошибка при восстановлении для записи из таблицы <строка>) |
Возможно разрушение данных в указанной таблице |
Skipped n bytes after reading a bad attribute n . . . (Пропущено n байт после чтения неверного атрибута т) |
Не фатально |
Skipped n bytes looking for next valid attribute, encountered attribute m ... (Пропущено n байт при поиске следующего верного атрибута, встречен атрибут m) |
Не фатально |
Trigger <string> is invalid . . . (Триггер <строка> неверен) |
|
Unexpected end of file on backup file (Непредвиденное завершение копируемого файла) |
Восстановление файла копии завершилось с ошибкой; видимо процедура копирования, которая создала этот файл копии, завершилась ненормально. Если возможно, создайте новый файл копии и используйте его для восстановления базы данных |
Unexpected I/O error while accessing <string> backup file (Непредвиденная ошибка ввода/вывода при обращении к файлу копии <строка>) |
Вероятно, возникла ошибка диска или другого оборудования при выполнении копирования или восстановления |
Unknown switch <string> (Неизвестный переключатель <строка>) |
Был задан нераспознанный утилитой gbak режим |
User name parameter missing (Отсутствует параметр имя пользователя) |
Копирование или восстановление обращается к удаленной машине. Задайте имя пользователя переключателем -user |
Validation error on column in table <string> (Ошибка проверки столбца в таблице <строка>) |
База данных не может быть восстановлена, потому что содержит данные, которые нарушают ограничение целостности. Попытайтесь удалить ограничения из метаданных, указав при восстановлении -no_validity |
Warning - record could not be restored (Предупреждение - запись не может быть восстановлена) |
Возможно разрушение указанных данных |
Wrong length record, expected n encountered m . . . (Неверная длина записи, ожидается n, встретилась m) |
Пора дальше
Утилита gbak имеет большое значение для поддержания базы данных в работоспособном состоянии и для устранения некоторых типов разрушения данных. Другим инструментом, который вы можете использовать для выполнения задач администрирования, ведения и восстановления базы данных, является программа gfix, обсуждаемая дальше. Комбинированное использование gfix и gbak для анализа и иногда починки разрушенной базы данных описывается в приложении 4.