Доброго времени суток всем,
есть проблема, не могу понять, есть база (IB server 7.0), пытаюсь сделать бэкап в transportable формате вылетает ошибка "Operation violates CHECK constraint on view or table. System memory exhausted.". Ошибка появляеться при записи одной из таблиц. Никаих там CHECK-ов нет. Просмотрел все индексы, все ок. Даже поудалял внешние ключи, ошибка остается. Проверяю базу по полной - нет ошибок. Бэкап в non-transportable формате выполняется нормально.
Заранее спасибо
Ошибка при backup-е (Operation violates CHECK constraint...)
Модераторы: kdv, Alexey Kovyazin
-
- Сообщения: 3
- Зарегистрирован: 04 июн 2005, 16:13
-
- Сообщения: 3
- Зарегистрирован: 04 июн 2005, 16:13
На предмет транспортэйбл... ну возможно в твоих словах есть ризон на предмет нужности бэкапа в этот формат. Но хрен его знаит... вдрух платформа измениццо, на данный момент это не предвидиться, но кто его знает. Это первое. На предмет проверки по полной, я имел ввиду -full gfix-а (ну мало ли может что со страницами не то, сбои бывали в питании), при том, база небольшая... так что я не поленился все поля являющиеся ключами (в т.ч. внешними) просмотреть на соответсвие данных. Даже после удаления всех ключей, в т.ч. первичных, ошибка оставалась. Страно это... в не транспортабельный все ОК, а в транспортабельный ошибка... Такое впечатление что какой то баг в самом сервере. Забыл, если сохранять только метаданные в транспортабельный, то все ОК.
gfix проверяет физические структуры, но не логические. то есть check constraints он не проверяет.
transportable - да, по умолчанию, но gbak-у обычно эти ключи не указывают.
Таки да, "транспортабельность" это переносимость бэкапа с одной аппаратной платформы на другую, как минимум где integer хранятся в памяти по разному (младшие и старшие байты).
Например, транспортабельный бэкап нужен (теоретически) при переходе с IB for Win/Linux на IB for Solaris (SPARC), или обратно.
p.s. 7.0 - понятие слегка абстрактное. www.ibase.ru/devinfo/allversions.htm , плюс и правда проверить версию gbak по gbak -z.
transportable - да, по умолчанию, но gbak-у обычно эти ключи не указывают.
Таки да, "транспортабельность" это переносимость бэкапа с одной аппаратной платформы на другую, как минимум где integer хранятся в памяти по разному (младшие и старшие байты).
Например, транспортабельный бэкап нужен (теоретически) при переходе с IB for Win/Linux на IB for Solaris (SPARC), или обратно.
p.s. 7.0 - понятие слегка абстрактное. www.ibase.ru/devinfo/allversions.htm , плюс и правда проверить версию gbak по gbak -z.
Последний раз редактировалось kdv 20 мар 2006, 16:58, всего редактировалось 1 раз.
-
- Сообщения: 3
- Зарегистрирован: 04 июн 2005, 16:13