gbak: ERROR: size specification either missing or incorrect

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

gbak: ERROR: size specification either missing or incorrect

Сообщение smplmnd » 14 июн 2007, 10:12

Вот такое сообщение выдает gbak при попытке рестора базы. База крутится под Windows, Firebird 1.5.4, backup создается командой

Код: Выделить всё

gbak.exe -B -g -ig -l -password masterkey -user sysdba -t -v db.gdb db.gbk
restore пытаюсь сделать под Linux RedHat9, Firebird 1.5.4, командой

Код: Выделить всё

gbak -P 8192 -V -C db.gbk db.gdb -U sysdba -pass masterkey
gstat db.gdb подтверждает, что Page size = 8192... Что делать, не понимаю..
Последний раз редактировалось smplmnd 14 июн 2007, 13:19, всего редактировалось 1 раз.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: gbak: ERROR: size specification either missing or incorr

Сообщение stix-s » 14 июн 2007, 11:27

smplmnd писал(а):Вот такое сообщение выдает gbak при попытке рестора базы. База крутится под Windows, Firebird 1.5.4, backup создается командой

Код: Выделить всё

gbak.exe -B -g -ig -l -password password -user sysdba -t -v db.gdb db.gbk
restore пытаюсь сделать под Linux RedHat9, Firebird 1.5.4, командой

Код: Выделить всё

gbak -P 8192 -V -C db.gbk db.gdb -U sysdba -pass password
gstat db.gdb подтверждает, что Page size = 8192... Что делать, не понимаю..
а где собственно сообщение?
PS
а, увидел, а что gfix говорит?

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Re: gbak: ERROR: size specification either missing or incorr

Сообщение smplmnd » 14 июн 2007, 11:37

stix-s писал(а):а что gfix говорит?
с какими ключами?

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: gbak: ERROR: size specification either missing or incorr

Сообщение stix-s » 14 июн 2007, 11:40

smplmnd писал(а):
stix-s писал(а):а что gfix говорит?
с какими ключами?
http://ibase.ru/devinfo/db_repair.htm
gfix -v -full db.gdb
только конечно крайне желательно над копией базы измываться с монопольным доступом

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 12:10

Есть такое мнение, что не исключено, что в Operations Guide слова

For restoring:
gbak {-C|-R} [options] source dbfile

написаны не просто так...

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Re: gbak: ERROR: size specification either missing or incorr

Сообщение smplmnd » 14 июн 2007, 12:22

stix-s писал(а):gfix -v -full db.gdb
вообще ничего не говорит.
Merlin писал(а): Есть такое мнение, что не исключено, что в Operations Guide слова

For restoring:
gbak {-C|-R} [options] source dbfile

написаны не просто так...
Очень может быть! Но, к сожалению, gbak -C -P 8192 -V db.gbk db.gdb -U sysdba -pass masterkey дает тот же результат.
gbak -C -P 8192 -V -U sysdba -pass masterkey db.gbk db.gdb возвращает gbak: ERROR: cannot open backup file sysdba
Последний раз редактировалось smplmnd 14 июн 2007, 13:20, всего редактировалось 2 раза.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 14 июн 2007, 12:23

[quote="Merlin"][/quote]Что ты всё к мелочам цепляешься :lol:
Если тут -IG -L -T собрано... Страшно представить, для чего и из чего такой бэкап создаётся.

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Сообщение smplmnd » 14 июн 2007, 13:19

WildSery писал(а):Если тут -IG -L -T собрано
Под Windows:

Код: Выделить всё

gbak -B -password masterkey -user sysdba -v -t db.gdb db.gbk
Под Linux:

Код: Выделить всё

gbak -C -P 8192 -V db.gbk db.gdb -PASS masterkey -U sysdba
size specification either missing or incorrect

Код: Выделить всё

gbak -C -P 8192 -V db.gbk db.gdb -PASS masterkey -USER sysdba
Your user name and password are not defined.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 13:33

Слышатся глухие удары. Невдалеке кто-то подгоняет картонные кусочки пазла друг к другу кулаками.

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Сообщение smplmnd » 14 июн 2007, 13:53

Merlin писал(а):Слышатся глухие удары. Невдалеке кто-то подгоняет картонные кусочки пазла друг к другу кулаками.
Может быть, короче было сказать "я не знаю ответа на этот вопрос"?
(замечу в скобках, что под Windows база ресторится)

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 14:06

Ответ на вопрос содержится в Operations Guide. Ключи сокращают не как жолтая вода в голову ударит, а как там написано. Ну и перечисляют обычно в том же порядке, как в примерах а доке, а не повинуясь всё той же воде. Порядок парсер может и прожуёт, конечно, я человек с убогой фантазией, всю жись как трамвай по рельсам. И ещё ленивый, изучать - а што будет если перекурочить вот так или вот эдак...

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Сообщение smplmnd » 14 июн 2007, 14:33

Merlin писал(а):Ответ на вопрос содержится в Operations Guide. Ключи сокращают не как жолтая вода в голову ударит, а как там написано.
Ммм? Operations Guide к Interbase? Так там password сокращается до pa, а линуксовый gbak от Firebird считает это сокращение декларацией Page size.. От того же gbak version LI-V1.5.4.4910 Firebird 1.5 извещение:

Код: Выделить всё

gbak: switches can be abbreviated to the unparenthesized characters
Впрочем, -user до -u все равно, похоже, не сокращается, и от первоначального вопроса остается только изумление по поводу неадекватной диагностики программы gbak.
Всем спасибо : )

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 14 июн 2007, 14:57

Доброго времени суток!

Насколько я видел исходники FB, обработка параметров там производиться следующим образом:
есть таблица полных имен ключей в верхнем регистре
смотрим ключи в командной строке - если есть совпадение с началом полного имени ключа без учета регистра - считаем, что это искомый ключ. Т.е. вместо -password можно написать -pa, -pas и т.д.
Видимо, при различном порядке записи ключей могут возникнуть накладки: -P может распознаться как -password. Мораль - не лениться и указывать наименования ключей так, чтобы толкование было однозначным - -user, -password, -page...

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 14:59

Хммм... И вправду его (гбака) парсер командной строки подкрутили относительно 6-ки. Я как-то привык ключики в батниках целиком писать, во избежание, так что и не наступал. Набери какой нить ключик несуществующий в командной строке, например gbak -? (кстати, отсутствие его штатно - тоже камень в его огород). Тупенький он.

Кузнецов Евгений
Сообщения: 144
Зарегистрирован: 16 фев 2006, 22:36

Сообщение Кузнецов Евгений » 14 июн 2007, 15:07

Merlin писал(а): например gbak -? (кстати, отсутствие его штатно - тоже камень в его огород). Тупенький он.
Как и gstat, gsec, gfix, isql и иже с ними.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 14 июн 2007, 16:13

Merlin писал(а):Набери какой нить ключик несуществующий в командной строке, например gbak -?
Зачем?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 14 июн 2007, 16:22

поздно я подключился. а то бы за ключи -ig и -l всыпал по первое число.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 16:31

WildSery писал(а):
Merlin писал(а):Набери какой нить ключик несуществующий в командной строке, например gbak -?
Зачем?
Затем, что gbak, gsec и isql - это не gfix и не gstat :wink:

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 июн 2007, 16:33

kdv писал(а):поздно я подключился. а то бы за ключи -ig и -l всыпал по первое число.
А кто его знает, вдруг он её дрючит беспрерывно в двухфазном коммите с самопадающих соединений.

smplmnd
Сообщения: 8
Зарегистрирован: 13 июн 2007, 19:03

Сообщение smplmnd » 14 июн 2007, 16:35

kdv писал(а):поздно я подключился. а то бы за ключи -ig и -l всыпал по первое число.
Скрипт с таким набором ключей служит для того лишь, чтобы в случае ошибок в работе приложения, использующего эту базу, можно было быстренько ее свернуть, упаковать и отправить разработчику - вместе со всей хренью, которую приложение наплодило - я так думаю.
В качестве скрипта бэкап-рестора, конечно, он уродлив.. как я теперь понимаю : )

Ответить