Страница 1 из 1

Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 05 авг 2010, 10:41
nevadimka
При попытке восстановить базу с бэкапа 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 идет нормально.
Как устранить такую проблему не создавая новый бэкап?

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 05 авг 2010, 13:53
Dimitry Sibiryakov
-NO_VALIDITY может помочь. Но прибитый гвоздиками план придётся потом убить.

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 14 дек 2010, 10:40
nevadimka
ну да сейчас делаем так: перед переходом делаем накат метаданных на пустую базу, находим процедуры с некорректным планом, коментируем фиксим после перехода.

С переходом на 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

Добавлено: 14 дек 2010, 14:43
kdv
разве что select cast(datefield as varchar(20)) from ...
и то, не знаю, что даст у вас эта проверка.

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 15 дек 2010, 12:48
nevadimka
Апдейт поля типа DATE в таблице, на которой упало, помог. Но при ресторе упало с такой же ошибкой, но на другой таблице.
На сколько я понял определить, что дата не в таком формате нельзя.

Как выход вижу через системные таблицы вытянуть все поля типа date и через execute statement их проапдейтить.
Или может вы что-то посоветуете?

Вариант создать пустую базу на 2.1.3 и перезалить данные рассматриваю в последнюю очередь.

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 15 дек 2010, 14:42
Dimitry Sibiryakov
nevadimka писал(а):Вариант создать пустую базу на 2.1.3 и перезалить данные рассматриваю в последнюю очередь.
А зря. Это самый быстрый способ.

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 16 дек 2010, 12:33
nevadimka
Просто апдейт можно запустить на выходные и пойти домой, а потом сделать бекап/рестор и перейти на новую версию.
Процесс переливки все же нада контролировать, хотя тоже можно запустить и уйти домой, а если что-то упадет, то наследующие выходные попробовать снова.

Может подскажите сколько времени займет переливка по SUSE бд размером 100ГБ, правда не знаю какой % от этого индексы, но вроде большой?

Re: Проблема при ресторе с 1.5.6 на 2.1.3

Добавлено: 16 дек 2010, 14:37
Dimitry Sibiryakov
Семь часов максимум. Это если все 100 гигабайт - данные.