Текущий архив: 2005.07.31;
Скачать: CL | DM;
ВнизПочинка БД Firebird Найти похожие ветки
← →
__oleg (2005-06-14 16:03) [0]Полетела база. Коннект не идет, пишет:
"page 21716 is of wrong type (expected 3, found 7)".
Нашел через IBSurgeon страницу 21716 (index B-tree page) и страницу, которая на неё ошибочно ссылается 21268 (transact inv. page). Тупо заменил неверную ссылку на странице 21268 (Next transaction inv. page) на 0. Проверил все другие TIP-страницы, таких ссылок больше нет. Снова пытаюсь соединиться - та же самая ошибка.
Где еще могут быть неверные ссылки ? Реально решить проблему "ручками", заменив пару-тройку байтов или всё плохо ?
з.ы.
IBFirstAid у меня нету и не предвидится.
← →
Johnmen © (2005-06-14 16:04) [1]http://www.ibase.ru/dbrepair.htm
← →
__oleg (2005-06-15 07:53) [2]> http://www.ibase.ru/dbrepair.htm
Там я уже был, табличку смотрел - там достаточно общее описание ошибок.
Хотел бы узнать более кокретно: Как восстановить нарушенную последовательность страниц транзакций ?
← →
__oleg (2005-06-15 08:19) [3]...статью тоже читал. Проблема в том, что gfix у меня ничего исправлять не хочет, пишет то же сообщение.
← →
sniknik © (2005-06-15 08:45) [4]gfix далеко не первая операция в восстановлении ошибок данного класса
из ссылки
Вероятная причина
В результате физического повреждения нарушена последовательность страниц в файле базы данных или неправильные значения на страницах указателей (Pointer Pages), страницах вершин индексов (Index Root Pages) и т.д.
Действия по восстановлению
Анализ последовательности страниц в базе данных, исправление неправильных ссылок в последовательности, возможно - перегенерация запорченных страниц и генерация новых вместо потерянных. Затем проверка базы данных с помощью gfix и контрольное backup/restore.
Примерные трудозатраты
2-4 часа
Стоимость ремонтных работ (за 1 час):
Ремонт БД, наличный расчет 40 у.е.
Ремонт БД, безналичный расчет 70 у.е.
Ремонт БД на месте, наличный расчет 52 у.е.
Ремонт БД на месте, безналичный расчет 91 у.е.
заметь не тупая замена неверных ссылок а анализ. чуствуеш разницу? и потом ожидается 3 найдено 7 а ставиш 0. явно изначально неправильное значение (ходя догадываюсь и 3 возможно будет неправильно, может не одна только ссылка сбилась а больше и .т.д. не зря люди 2-4 часа на трудозатраты положили, и это имея соответствующие утилиты, опыт, т.д.).
← →
sniknik © (2005-06-15 08:51) [5]> IBFirstAid у меня нету и не предвидится.
скачать демо версию можно у них на сайте (во всяком случае я наткнулся на это после пары тычков мышью пойдя по ссылке), возможно демо не восстановит, но должна хоть сказать возможно это или нет.
← →
__oleg (2005-06-15 12:45) [6]> gfix далеко не первая операция в восстановлении ошибок данного класса
Именно поэтому я сначала пытаюсь исправить ссылки на страницах.
> и потом ожидается 3 найдено 7 а ставиш 0
Не совсем так, не тип страницы ставлю в 0, а ссылку на следующую страницу (т.е. вместо 21716 ставлю 0). ИМХО ноль означает, что данная страница является последней и ни на какую другую больше не ссылается (в базе на самом деле больше нет страниц такого типа).
> скачать демо версию можно у них на сайте
Скачал, не лечит, но помогла узнать много нового - щас буду переваривать. Спасибо, что ткнул носом.
← →
DSKalugin © (2005-06-15 16:07) [7]Попробуй это
http://www.rudjuk.kiev.ua/rus/replicator.htm
Репликатор - это программа для быстрого копирования информации из одной базы данных Interbase в другую.
Одно из применений этой программы - это восстановление данных после сбоя. Но в данном случае важно чтобы к базе данных со сбоем программа могла подключиться. Т.к. восстановление данных происходит путём копирования данных.
← →
__oleg (2005-06-16 09:55) [8]> Попробуй это
> http://www.rudjuk.kiev.ua/rus/replicator.htm
Прога интересная, но коннект не идет.
Мне нужно такую, чтобы без сервера работала - напрямую с gdb-файлом.
← →
__oleg (2005-06-21 15:08) [9]Все-таки удалось законнектится ! Вручную в дампе поправил таблицу RDB$PAGES, затем исправил битую ссылку на странице(как описал в начале). Затем gfix, backup, restore. Все данные на первый взгляд сохранились.
Спасибо всем. Демка IBFirstAid помогла быстрее разобраться.
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.038 c