Hare.ru @ Коллективный разум / Hare.ru @ Дикое место

Архив hare.ru 
Мысли, конвертированные в текст

Собственные руки TM


Все статьи раздела

Ручное восстановление битых таблиц V7

Сергей Аносов (февраль 2003)

В статье рассматривается частный вариант восстановления битых таблиц базы данных V7 "подручными" средствами.

Исходная ситуация. При копировании на битую магнитооптику порушились таблицы базы данных. Оригинал был удалилён.

"Тестирование и исправление ИБ" выдает сообщение о том, что файл журналов (и часть других) не является таблицей.

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

Например, таблица 1sjourn выглядела вот так:

ZACZ4 28PX62NK 28PVV1SC0 28PTXI0G 28PRT7OW 28PPOXDC 28PNKN1S 28PLGCQ8 28PJC2EO 28PH7S34 28PFU3HRK 28PDZ7G0 28PBUX4G 28P9QMSW 28P7MCHC 28P5I25S 28P3DRU8 28P19HIO 28OZ5774 28OXT0WVK 28OVWMK0 28OTSC8G 28ORO1WW 28OPJRLC 28ONHMFK 28OMFH9S 28OLDC40 28OKB6Y8 28OJ91SG 28OI 2B0200212233S6WMO 28OH ! u8 9 yy? ?? ?? ?A ?? ?? ?? ?? !?? #?? %?? '?? )?A +?? -?? /?? 1?? 3?? 5?? 7?? 9?A ;?? =?? @?? B?? D?? F?? H?? J?? L?A N?? P?? R?? T?? KOJ4 28RYGE7K 28RWC3W0 28RU7TKG 28RSZ3J8W 28RQZ8XC 28ROUYLS 28RMQOA8 28RKMDYO 28RII3N4 28RGDTBK 28RE9J00 28RB58OG 28R9Y0YCW 28R7WO1C 28R5SDPS 28R3O3E8 28R1JT2O 28QZFIR4 28QXB8FK 28QV6Y40 28QTX2NSG 28QRYDGW 28QPU35C 28QNPSTS 28QLLII8 28QJH86O 28QHCXV4 28QF8NJK 28QD4D80 28QBW02WG 28Q9VSKW 28Q7 2B0200212233VRI9C 28Q5 8JZ 5320020212C26CWG 134082002 000946 5 2 0000000010000000 2 1 9J 6B2 8JZ 5320020212C28I28 134082002 000947 5 1 0000000010000000 2 1 9J 6B3 8JZ 5320020212C2AN80 134082002 000948 5 1 0000000010000000 2 1 9J 6B4 8JZ 5320020212C2CSDS 134082002 000949 5 1 00

Предполагаем, что с отмеченного места начинается собственно содержимое таблицы журналов (почему именно с этого места, не очень понятно, видимо, определяется интуитивно – прим. редактора). Остается задача определить начало записи и прикрепить заголовок.

Начало записи определем от колонок "дата+время" – они хорошо идентифируются по последовтельности "год месяц дата время": "20020212C2AN80" (a в таблицах, где нет даты, нужно определить другую удобную колонку).

Далее, по файлу 1cv7.dd определяем смещение в байтах от даты и все лишнее отрезаем (прямо в Notepad). Затем при помощи DOSNavigator (или другого файлового менеджера, поддерживающего опцию "append" при копировании файлов, например, FAR это умеет) "подшиваем" полученный файл к пустой таблице 1sjourn (получение пустой таблицы здесь не рассматривается ;-).

У полученного файла с помощью утилиты Windbfview фирмы "Гендальф" исправляем заголовок (а можно пропустить базу через "тестирование и исправление") и получаем готовую, вполне работоспособную таблицу с большей частью информации.

Резюме. Чтобы не приходилось заниматься такой мутью – учите всех ваших клиентов регулярно создавать резервные копии. ;-)

Партнеры:


Также может быть интересно:

Канал Россия 1 на http://spbtvonline.ru/
   
 Сайт поддерживается за счет партнеров:
:::... Сайт содержит архив двух версий hare.ru Карта сайта