Страница 1 из 1

"do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 07:08
Brainenjii
Приветствую... Есть база, которая сначала была на Windows версии Firebird, потом после бекап-рестора перенесена на Linux... Сейчас backup'ы Linux'овой версии не восстанавливается - прекращается на этой ошибке... Не подскажите, что можно сделать? ^_^

// Копирование самого файла базы данных при отключенных пользователях приводит к
Engine Message :
database file appears corrupt ()
wrong page type
page 3 is of wrong type (expected 4, found 0)

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 10:59
WildSery
А не пробовал по-человечески, перенести не "после бэкап-рестора", а собственно бэкап перенести, и там, на линуксе, отресторить?
Или по сетке сразу там отресторить?

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 11:40
kdv
Копировать базу, по большому счету, нельзя. И вообще, "бэкапы не восстанавливаются", при этом приведенное сообщение к рестору вообще никак не относится. Так что Вы с терминологией определитесь, пожалуйста - что у Вас бэкап, что такое "восстановление бэкапа", и т.д.

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 14:37
hvlad
Brainenjii писал(а):Приветствую... Есть база, которая сначала была на Windows версии Firebird, потом после бекап-рестора перенесена на Linux... Сейчас backup'ы Linux'овой версии не восстанавливается - прекращается на этой ошибке... Не подскажите, что можно сделать? ^_^
Использовать для рестора не меньшую версию того-же сервера, что и при бекапе.
Brainenjii писал(а):// Копирование самого файла базы данных при отключенных пользователях приводит к
Engine Message :
database file appears corrupt ()
wrong page type
page 3 is of wrong type (expected 4, found 0)
Или юзеры не отключены, или база уже битая.
gfix -v -f

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 17:24
kdv
gfix этой базе уже не поможет. потому что третья страница это корневая Pointer page (тип страницы - 4). и если там 0 вместо типа страницы, то может она уже вся нулями прописана. а значит это только через наш ремонт. ну или ручками реконструировать :-)

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 17:49
Brainenjii
С формулировками наверняка не слишком точен >_< В общем, был сделан fbk файл на виндовой машине, перенесён на линуксовую, там был сделан restore для этого файла. Теперь, backup'ы линуксовой базы не ресторятся - ошибка в теме...
gfix /path/to/dbfile.fdb -v -full -user SYSDBA -pass mypass - ничего не выдаёт... Но после gbak -b /path/to/dbfile.fdb /path/to/backup.fbk -user SYSDBA -pass masterkey - и копирования получившегося fbk на виндовую машину, где ей делается рестор - всё та же ошибка...
На linux'e и windows одна и так же версия firebird (правда не знаю, где посмотреть версию именно firebird на линуксовой машине, так что смотрел gfix -z = "gfix version LI-V2.0.4.13130 Firebird 2.0". На Windows - Firebird 2.0.4-13130 (в панели управления)...

UPD: пока набирал пост ещё пробовал по всякому, в общем, получилось так - сделал shut full force 0, потом файл скопировал на виндовую машину, тут ему online и она заработала ^_^ backup'ы и restore проходят ^_^ Спасибо за ссылку на gfix ^_^

Re: "do not recognize record type 11" при Restore

Добавлено: 07 ноя 2008, 19:47
Merlin
Название дистрибутива LInux и файловой системы, номера версий его ядра и libc возможно, будут представлять интерес. 2hvlad: кстати, о том же, наверное, следует допросить и Бегемотика.

Re: "do not recognize record type 11" при Restore

Добавлено: 16 ноя 2008, 01:50
Kotъ-Begemotъ
Merlin писал(а):кстати, о том же, наверное, следует допросить и Бегемотика.
Не стОит. Бегемотик не дожидаясь пыток калёным железом всё рассказал dimitr'у :))) И как dimitr сказал, проблема действительно была в разнице версий. Хотя еще одну проблемку я отловил позже - когда делал скрипт с базы, для поля одной таблицы записалось DEFAULT CURRENT_TIMESTAMP, Именно так - с запятой в конце... Понятно, что приводило это к невозможности вставки в данную таблицу при явно не заданном поле... Но изначальная причина, по словам dimitr'а - это разница в версиях, между linux - windows так как за этот "промежуток" были внесены изменения в BLR