Проблема при ресторе с 1.5.6 на 2.1.3
Модераторы: kdv, Alexey Kovyazin
Проблема при ресторе с 1.5.6 на 2.1.3
При попытке восстановить базу с бэкапа 1.5.6 версии на 2.1.3 версию FireBird выдает ошибку: gbak: ERROR:index PK_blablabla cannot be used in the specified plan gbak:Exiting before completion due to errors При этом рестор на 1.5.6 идет нормально.
Как устранить такую проблему не создавая новый бэкап?
Как устранить такую проблему не создавая новый бэкап?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Проблема при ресторе с 1.5.6 на 2.1.3
-NO_VALIDITY может помочь. Но прибитый гвоздиками план придётся потом убить.
Re: Проблема при ресторе с 1.5.6 на 2.1.3
ну да сейчас делаем так: перед переходом делаем накат метаданных на пустую базу, находим процедуры с некорректным планом, коментируем фиксим после перехода.
С переходом на 2.1.3 есть еще одна проблема при ресторе:
gbak: ERROR:value exceeds the range for valid dates
gbak: ERROR:gds_$send failed
gbak:Exiting before completion due to errors
База большая со множеством таблиц в которых есть даты. Может кто-то посоветует быстрый способ сделать даты корректными или рестор прошел
С переходом на 2.1.3 есть еще одна проблема при ресторе:
gbak: ERROR:value exceeds the range for valid dates
gbak: ERROR:gds_$send failed
gbak:Exiting before completion due to errors
База большая со множеством таблиц в которых есть даты. Может кто-то посоветует быстрый способ сделать даты корректными или рестор прошел
Re: Проблема при ресторе с 1.5.6 на 2.1.3
разве что select cast(datefield as varchar(20)) from ...
и то, не знаю, что даст у вас эта проверка.
и то, не знаю, что даст у вас эта проверка.
Re: Проблема при ресторе с 1.5.6 на 2.1.3
Апдейт поля типа DATE в таблице, на которой упало, помог. Но при ресторе упало с такой же ошибкой, но на другой таблице.
На сколько я понял определить, что дата не в таком формате нельзя.
Как выход вижу через системные таблицы вытянуть все поля типа date и через execute statement их проапдейтить.
Или может вы что-то посоветуете?
Вариант создать пустую базу на 2.1.3 и перезалить данные рассматриваю в последнюю очередь.
На сколько я понял определить, что дата не в таком формате нельзя.
Как выход вижу через системные таблицы вытянуть все поля типа date и через execute statement их проапдейтить.
Или может вы что-то посоветуете?
Вариант создать пустую базу на 2.1.3 и перезалить данные рассматриваю в последнюю очередь.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Проблема при ресторе с 1.5.6 на 2.1.3
А зря. Это самый быстрый способ.nevadimka писал(а):Вариант создать пустую базу на 2.1.3 и перезалить данные рассматриваю в последнюю очередь.
Re: Проблема при ресторе с 1.5.6 на 2.1.3
Просто апдейт можно запустить на выходные и пойти домой, а потом сделать бекап/рестор и перейти на новую версию.
Процесс переливки все же нада контролировать, хотя тоже можно запустить и уйти домой, а если что-то упадет, то наследующие выходные попробовать снова.
Может подскажите сколько времени займет переливка по SUSE бд размером 100ГБ, правда не знаю какой % от этого индексы, но вроде большой?
Процесс переливки все же нада контролировать, хотя тоже можно запустить и уйти домой, а если что-то упадет, то наследующие выходные попробовать снова.
Может подскажите сколько времени займет переливка по SUSE бд размером 100ГБ, правда не знаю какой % от этого индексы, но вроде большой?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Проблема при ресторе с 1.5.6 на 2.1.3
Семь часов максимум. Это если все 100 гигабайт - данные.