powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / срочная помощь по restore
21 сообщений из 21, страница 1 из 1
срочная помощь по restore
    #38419728
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Взял backup от FB 2.1.3, из которого была успешно восстановлена база, скопировал на другую машину, где установлена FB 2.1.5 и создаю новую базу точно тем же скриптом:
E:\Program Files\Firebird\Firebird_2_1\bin\gbak.exe -c -se Localhost:service_mgr -page_size 8192 -v -user SYSDBA -pass *** -y e:\backup\backuprestore\restore.log e:\backup\backup1.gbk e:\base\base_restored.gdb

процесс прерывается по ошибке:
gbak: activating and creating deferred index PK_LOADSDETAILS_TMP
gbak:cannot commit index PK_LOADSDETAILS_TMP
gbak: ERROR:attempt to store duplicate value (visible to active transactions) in unique index "PK_LOADSDETAILS_TMP"
gbak: ERROR:action cancelled by trigger (3) to preserve data integrity
gbak: ERROR: Cannot deactivate index used by a PRIMARY/UNIQUE constraint
gbak:Exiting before completion due to errors

Вроде все ясно и описано. Добавляю ключи и повторяю процесс:
-nodbtriggers -no_validity

Тот же результат!

Что я делаю не так?
Заодно - у 2.1.3 и 2.1.5 разные gds32.dll. У меня приложения, которые одновременно должны работать с обоими серверами (по крайней мере какое-то время. Какую библиотеку использовать?
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38419764
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеВзял backup от FB 2.1.3, из которого была успешно восстановлена база, скопировал на другую машину, где установлена FB 2.1.5 и создаю новую базу точно тем же скриптом:
E:\Program Files\Firebird\Firebird_2_1\bin\gbak.exe -c -se Localhost:service_mgr -page_size 8192 -v -user SYSDBA -pass *** -y e:\backup\backuprestore\restore.log e:\backup\backup1.gbk e:\base\base_restored.gdb

процесс прерывается по ошибке:
gbak: activating and creating deferred index PK_LOADSDETAILS_TMP
gbak:cannot commit index PK_LOADSDETAILS_TMP
gbak: ERROR:attempt to store duplicate value (visible to active transactions) in unique index "PK_LOADSDETAILS_TMP"
gbak: ERROR:action cancelled by trigger (3) to preserve data integrity
gbak: ERROR: Cannot deactivate index used by a PRIMARY/UNIQUE constraint
gbak:Exiting before completion due to errors

Вроде все ясно и описано. Добавляю ключи и повторяю процесс:
-nodbtriggers -no_validity

Тот же результат!

Что я делаю не так?

А сделай-ка на базе данных выборку из той таблицы по полям индекса PK_LOADSDETAILS_TMP, чтоб оценить количество неуникальных записей. Мне кажется, что там таки присутствуют неуникальные ключи. Сбой был какой-то когда-то, с тех пор и живут. Чудес-то не бывает.
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38419875
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o_v_a,
я делаю, но там 33 млн. записей.
Вопрос не в том, есть ли дубликаты, а почему не работают ключи у gbak?
И что делать в такое ситуации, если надо сначала сделать restore, а затем чинить индекс?
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38419915
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеВзял backup от FB 2.1.3, из которого была успешно восстановлена базаТут ничего не напутал ?
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38419924
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Вроде нет. Стоит боевая 2.1.3, backup/restore прошел, лог завершен привычным
gbak: committing metadata
gbak:finishing, closing, and going home

скопировал backup.gbk на другую машину и начал трахаться с 2.1.5.
Кстати - более старый бэкап (июльский) тоже завершает восстановление на этом же месте с той же ошибкой.
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38419990
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спе,

ну так скопируй отресторенную БД на сервер с 2.1.5 и там уже ищи дубликаты в индексе
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420006
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеИ что делать в такое ситуации, если надо сначала сделать restore, а затем чинить индекс?
-nodbtriggers - для отключения дб-триггеров
вам надо -inactive
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420122
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Exteris,
У меня индексов - сотни.
После -inactive все их руками активировать?
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420135
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спе,

В execute block оберни. Основная идея:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
execute block
as
declare variable indexname varchar(32);
declare variable sql varchar(512);
begin
  for select rdb$index_name from rdb$indices where ....   --- перебираем все индексы
       into indexname
  do begin
        sql='ALTER INDEX '||indexname||' SET ACTIVE';  --- синтаксис уточнишь, если что
        execute statement sql;
      end
end
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420144
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеВроде нет. Стоит боевая 2.1.3, backup/restore прошел, лог завершен привычным

Т.е. у тебя сейчас есть бэкап, который успешно восстанавливается на 2.1.3 и не
восстанавливается на 2.1.5? Какого он размера если упаковать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420166
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеExteris,
У меня индексов - сотни.
После -inactive все их руками активировать?

http://www.firebirdfaq.org/faq274/
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420199
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

42 ГБ
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420210
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, В.Спе!
You wrote on 8 октября 2013 г. 13:36:15:

В.Спе> 42 ГБ ты базу с бекапом не путаешь?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420213
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спе42 ГБ
Какая разрядность у Firebird 2.1.5 на которой он не восстанавливается?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420255
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
32 разряда.
сама база стала 87 ГБ после долгой и старательной чистки старых логов.
было 150 ГБ.

перейти на 64 разряда, 2.5 или Oracle не могу - работает учетная система предприятия,
разработчики таких коренных переделок UDF не сделают. От нас большой объем кода закрыт.
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420279
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спеперейти на 64 разряда, 2.5 или Oracle не могу
Переходить и не надо. Достаточно попробовать восстановить этот бэкап на 64-х разрядной
версии. UDF для этого не требуются: их отсутствие вызовет максимум предупреждения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420340
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
что это решит? Ускорение работы?
меня больше волнуют вопросы, связанные с обновлением в дальнейшем остальных серверов на 2.1.5
В чем еще проявятся различия 2.1.3 и 2.1.5? Про gbak нигде не было сказано :(
Есть ли инструмент для починки таких первичных ключей? (не выгрузка-загрузка таблицы)
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420343
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спе,

читаем
http://www.ibase.ru/devinfo/db_repair.htm
бэкап из 2.1.3 нормально восстанавливается в 2.1.5.
Такого, чтобы один и тот же бэкап по разному восстанавливался или нет - не верю. Скорее всего файл бэкапа мог побиться при копировании. Или проблему не заметили при ресторе на 2.1.3.
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420347
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.Спечто это решит?
Это решит вопрос "что именно сломано - 32-х разрядная версия 2.1.5 или твоя база".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420709
В.Спе
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Всем спасибо за участие, сижу починяю сломанные индексы.
Успехов и удачи.
...
Рейтинг: 0 / 0
срочная помощь по restore
    #38420806
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.СпеУ меня индексов - сотни.
После -inactive все их руками активировать?Нет, конечно же. Можно поручить это самому ФБ, главное - нажать не просто F9, а Shift- F9 :-)
Тынц.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / срочная помощь по restore
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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