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