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

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

Добавлено: 17 ноя 2007, 15:01
polygon
Добрый день!
Имеетсяв наличии база под управлением 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 ни разу не пользовалась, и не хотелось бы пользоваться :)

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

Добавлено: 17 ноя 2007, 15:10
polygon
ОС - windows 2003 server sp1

еще данные

Добавлено: 17 ноя 2007, 15:15
polygon
PageSize = 8192

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

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

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

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

Спасибо всем

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

Добавлено: 20 ноя 2007, 13:14
polygon
:)
его и читала - только медленно.
ну может хоть для FAQ повисит мой вопрос :)

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

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