поломка индексов

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

Ответить
polygon
Сообщения: 11
Зарегистрирован: 17 ноя 2007, 14:54

поломка индексов

Сообщение polygon » 17 ноя 2007, 15:01

Добрый день!
Имеетсяв наличии база под управлением InterBase 7.0 размер базы примерно 700-800 метров.

Бэкап проводится каждый день. Случае неожиданной остановки InterBase сервера в наличии были.

Проблема: получаю невосстановимый бэкап.

При восстановлении выдает ошибку:
gbak: creating indexes
gbak: cannot commit index RDB$FOREIGN51
gbak: ERROR: attempt to store duplicate value (visible to active transactions) in unique index "RDB$PRIMARY51"
IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
action cancelled by trigger (3) to preserve data integrity.
Cannot deactivate primary index.
IBE: Restore completed. Current time: 16:47:39. Elapsed time: 00:05:17

При проведении gfix -v -full выдает ошибки:
Number of index page errors 16
Number of database page errors 1

gfix -mend обнаруживает те же ошибки, но ничего сделать не может.

При востановлении базы из бэкапа с деактивированными индексами - все восстанавливает. Правда я не заню как активировать индексы на первичные и внешние ключи. А без них ой как плохо :(

помогите пожалуйста.
IBPump ни разу не пользовалась, и не хотелось бы пользоваться :)

polygon
Сообщения: 11
Зарегистрирован: 17 ноя 2007, 14:54

забыла добавить

Сообщение polygon » 17 ноя 2007, 15:10

ОС - windows 2003 server sp1

polygon
Сообщения: 11
Зарегистрирован: 17 ноя 2007, 14:54

еще данные

Сообщение polygon » 17 ноя 2007, 15:15

PageSize = 8192

Проверка IBFirstAID на мой непрофессиональный взгляд - ошибок не выявила - во всяком случае во всех логах кроме OK ничего плохого не нашла :)

polygon
Сообщения: 11
Зарегистрирован: 17 ноя 2007, 14:54

проблема решена

Сообщение polygon » 17 ноя 2007, 20:30

посмотрела логи, в таблицах, которые были там указаны - обнаружилосьдублирование записей с одинаковым занчением первичного ключа.
Причем данные относятся примерно к одному временному промежутку.

Удалила первичный ключ, раскидала записи, поправила генераторы, восстановила первичный ключ.
Все вылечилось.

Спасибо всем

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 18 ноя 2007, 18:56

всегда пожалуйста. надо было читать www.ibase.ru/devinfo/db_repair.htm
в данном случае повреждения базы привели к появлениям логических ошибок. Которые разумеется, диагност IBFirstAid не обнаружит.

polygon
Сообщения: 11
Зарегистрирован: 17 ноя 2007, 14:54

Сообщение polygon » 20 ноя 2007, 13:14

:)
его и читала - только медленно.
ну может хоть для FAQ повисит мой вопрос :)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 ноя 2007, 22:39

ну может хоть для FAQ повисит мой вопрос
а при чем тут FAQ??? по битым базам все проблемы описаны, включая данную.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 20 ноя 2007, 23:05

А вообще-то дэушке респект. Что-то я давно не припомню чтоб приходящие мужики так быстро с этими делами разбирались, а уж чтоб самостоятельно...

Ответить