Dmitry Yemanov wrote:
У IBE нет рестора. Он есть у сервера и у gbak'а.
Я догадываюсь :-) Написал на всякий случай, если IBE какие-то особые опции подсовывает. Например, я до сих пор теряюсь в догадках, как IBE определяет, что object in use, и почему та же команда через IBEшный же скрипт проходит на ура.

Причем код там идентичный и пропускать записи он не умеет. В лучшем случае (если указан ключ -n), то признак NOT NULL не будет восстановлен.
Тогда как объяснить такой лог:
gbak:    2950000 records restored
gbak:    2960000 records restored
gbak:    2970000 records restored
gbak:    2980000 records restored
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: validation error on column in table CLIENT_FIX
gbak: ERROR: validation error for column NUM, value "*** null ***"
gbak: committing data for table CLIENT_FIX
gbak:    2983988 records restored
gbak:     ... пошла следующая таблица

После рестора select count(*) выдал 2983982, т.е. ровно на 6 записей меньше. Все остальное восстановилось нормально, включая индексы.
FB 1.5.4

Ответить