powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка gbak "ERROR:validation error for column"
17 сообщений из 17, страница 1 из 1
Ошибка gbak "ERROR:validation error for column"
    #39123105
obtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С целью очистки базы *.gdb были выполнены следующие операции
1. gfix -shut –force 10 -user <USER_IB> -pass <PASSWORD_IB> имя файла.gdb
2. gbak -b -user <USER_IB> -pass <PASSWORD_IB> -v -g имя файла.gdb имя файла.bak
3. Удален текущий filial02.gdb 4. gbak -user <USER_IB> -pass <PASSWORD_IB> -c -v имя файла.bak имя файла.gdb
Во время операции восстановления получена ошибка gbak: ERROR:validation error for column "REPL$CHANGELOG"."MODIFYDATE", value "*** null ***" gbak: ERROR:warning -- record could not be restored
Т.к. восстановление было завершено некорректно, то вернул исходный имя файла.gdb(был сохранен).
После чего база заработала в штатном режиме. Насколько понимаю, индекс-битый в исходных данных(поиск идет по индексу).
В FireBird не силен и не до конца понимаю: как надо решать проблему?
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123109
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtim,

поле MODIFYDATE таблицы REPL$CHANGELOG содержит значение NULL, при этом на нём выставлено ограничение NOT NULL. Видать оно было добавлено уже после того как в этой таблице были данные.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123126
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtim> 3. Удален текущий filial02.gdb 4. gbak -user <USER_IB> -pass <PASSWORD_IB> -c -v имя файла.bak имя файла.gdb

Про причину ошибки Денис уже подсказал,
я лишь добавлю, что алгоритм неправильный -
надо третьим пунктом делать не удаление
файла текущей БД, а restore (в файл с другим
именем, отличный от оригинальной БД) и при
его успешном завершении удаление старого
файла и переименование нового.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123163
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtimУдален текущий filial02.gdb
стыдоба
12 типичных ошибок при бэкапе баз данных

чинить конкретную проблему - весьма геморройно:
http://www.ibase.ru/devinfo/db_repair.htm#col_add

можно, конечно, в опции рестора попробовать добавить опцию -no_validity, вдруг поможет (хотя не должно).
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123208
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> чинить конкретную проблему - весьма геморройно:

У них оригинал БД есть.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123256
obtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисobtim,

поле MODIFYDATE таблицы REPL$CHANGELOG содержит значение NULL, при этом на нём выставлено ограничение NOT NULL. Видать оно было добавлено уже после того как в этой таблице были данные.
Правильно понимаю: ручной поиск по таблице на предмет Null. Удаление. Дальше проверка через бэкап-ресторе?
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123259
obtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже я всех ввел немного в заблуждение: ПРОБЛЕМЫ С ВОССТАНОВЛЕНИЕМ БД НЕТ. ОНА БЫЛА СОХРАНЕНА ПЕРЕД ОПЕРАЦИЯМИ ПРИ ОТКЛЮЧЕННЫХ ПОЛЬЗОВАТЕЛЯХ. ВСЯ ОПЕРАЦИЯ ПРОВОДИТСЯ С ЦЕЛЬЮ ОЧИСТКИ ОТ "МУСОРА" И УБЫСТРЕНИЯ. ВОПРОС ИМЕННО ПО ОШИБКЕ, КОТОРАЯ ВОЗНИКАЕТ ПРИ ВОССТАНОВЛЕНИИ БД.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123261
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtim,

почему же сразу удаление. Можно значение в это поле записать, если оно по смыслу будет подходить.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123264
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мусор чистит "cборка мусора" а не gbak.
"ускорение" же достигается за счёт оптимизации запросов и правильной структуры данных.

gbak применяют таки для резервной копии, а не для вышеперечисленного.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123275
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtimВСЯ ОПЕРАЦИЯ ПРОВОДИТСЯ С ЦЕЛЬЮ ОЧИСТКИ ОТ "МУСОРА" И УБЫСТРЕНИЯ.Цель благая, только относительно выбранной цели ваши действия - это "прыжок в ширину". Да, после Б/Р размер БД может стать ненадолго немного меньше исходного, только ожидаемый эффект от этого несколько преувеличен.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123343
Фотография Секретное имя пользователя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если исходная база есть, то вот это покажет, где нуллы (gbak сразу вываливается, как только встречает одну ошибку, а если их там больше ?)
работает долго, читает всё, что есть в базе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
execute block
returns (
  TABLE_NAME varchar(32),
  DESCR      varchar(15000))
AS
  declare S  varchar(15000);
  declare S2 varchar(15000);
  declare S3 varchar(15000);
begin
  for
    select
        TRIM(RDB$RELATION_NAME),
        LIST(' or ' || TRIM(RDB$FIELD_NAME) || ' is null',''),
        LIST('case when sum(case when ' || TRIM(RDB$FIELD_NAME) || ' is null then 1 end)>0 then '', '||TRIM(RDB$FIELD_NAME) || ':'' || sum(case when ' || TRIM(RDB$FIELD_NAME) || ' is null then 1 end) else '''' end','||')
      from RDB$RELATION_FIELDS
      where coalesce(RDB$SYSTEM_FLAG,0) = 0
      and coalesce(RDB$NULL_FLAG,0) != 0
      group by 1
    into TABLE_NAME, S, S2
  do
    begin
      DESCR = NULL;
      S3='select '||S2||' from '||TABLE_NAME||' where 1=0 '||S;

      execute statement S3 into DESCR;

      if (char_length(DESCR)>0) then suspend;
    end
end

...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123663
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtim> ВСЯ ОПЕРАЦИЯ ПРОВОДИТСЯ С ЦЕЛЬЮ ОЧИСТКИ ОТ "МУСОРА" И УБЫСТРЕНИЯ

Так для этого sweep надо запускать, ночером.
А gbak (как backup, так и restore) тоже нужно,
но для других целей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123735
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще говоря, у товарисча, судя по расширению GDB база работает давно и подрастает весьма заметно.
Так же судя по тому что вопрос перебэкапа вызывал проблемы, причем связанные вероятно с не совсем корректной доработкой базы на производстве - опять же, перебэкап никогда не делался.

А он ведь нужен иногда что бы например счетчики транзакций сбросить.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123779
obtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если под перебэкапом подразумевается бэкап-ресторе, то последний раз делалось месяца 2 назад. Сама по себе база от программы, которая на данный момент не поддерживается разработчиком.
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123874
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtimбэкап-ресторе, то последний раз делалось месяца 2 назад.
О, брат! Да ты не видал ещё сдыхающих без предупреждения дисков или внезапно рассыпающихся в пыль RAID-массивов, или не поднимающихся после выключения электропитания серверов?!
Задумайся. http://ibase.ru/devinfo/sys_failure.htm
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123899
obtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o_v_aobtimбэкап-ресторе, то последний раз делалось месяца 2 назад.
О, брат! Да ты не видал ещё сдыхающих без предупреждения дисков или внезапно рассыпающихся в пыль RAID-массивов, или не поднимающихся после выключения электропитания серверов?!
Задумайся. http://ibase.ru/devinfo/sys_failure.htm
Похоже я продолжаю упорно плохо объяснять :(
У нас есть схема бэкапа. Он делается каждый день. В схеме бэкапа предусмотрена проверка. В данный момент она "совпала" с "оптимизацией базы". Прошлый раз рестор делался около двух месяцев назад.
П.С. Всем спасибо за все советы!
...
Рейтинг: 0 / 0
Ошибка gbak "ERROR:validation error for column"
    #39123916
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
obtimП.С. Всем спасибо за все советы!
Просто глаз за потенциальные грабли зацепился по ходу темы. Вильнуло.
Но если тебя всё устраивает и в случае неустранимого сбоя базы актуальность восстановленных из бэкапа данных (а он всегда восстановим?) приемлема при данной схеме организации бэкапа, то "у меня больше нет вопросов к докладчику".
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка gbak "ERROR:validation error for column"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]