Как восстановить разрушенные данные БД ADS

Материал из Фабиус wiki
Перейти к: навигация, поиск

Руководство по использованию утилиты

AdtFix

для восстановления поврежденных adt-таблиц

Когда нужен ремонт?

Ремонт таблицы adt-типа следует произвести, если при работе с ней вы получаете сообщения Ads со следующими кодами ошибок:

  • 7016 - Таблица разрушена
  • 7072 - Разрушен мемо-файл, связанный с этой таблицей
  • 7116 - Неопознана версия adt-таблицы
  • 7123 - Неопознан тип поля
  • 7124 - Неверное число записей

Эти ошибки возникают, когда вы пытаетесь работать с данными :

  • восстановленными из архива, который был создан без использования клиентской части Ads - например, вы свернули базу в архив с помощью Winrar, или сняли ее копию утилитой xcopy в то время, как с ней работали пользователи;
  • после резкой перезагрузки сервера - сбой питания, нажатие кнопки Reset и т.п.

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

В таких случаях следует проверить подозрительные файлы, как это сказано ниже.

Инструмент

Для полного ремонта нужны следующие утилиты:

  • adtfix.exe - ремонтирует таблицы
  • freeadt.exe - отвязывает таблицы от Словаря базы данных,
  • arc32.exe - многофункциональная утилита "Advantage Database Architect".

Утилиты adtfix.exe и freeadt.exe размещены на нашем FTP-сервере

Ремонт

  • Создайте временную директорию типа \temp\fix.
  • Копируйте в нее adtfix.exe, freeadt.exe и распакованные архивные или испорченные файлы.
  • Запустите adtfix.

AdtFix1.png


Advantage Database Table Repair Utility

Это приложение проверит файлы ADT на валидность ( от латинского validus - здоровый ) в указанной папке. Если файлы повреждены, вы сможете исправить ( fix ) их. Для того, чтобы предотвратить разрушение файлов ADT, поставьте мощный UPS, т.е. бесперебойный источник питания, на сервер. После нажатия на кнопку FIX, приложение предложит вам сохранить испорченные файлы, перед тем, как лечить их.

Это приложение проверяет следующие ошибки:

  • неверный размер файла
  • неверное количество записей
  • поиск записей, которые не были освобождены от транзакций
  • разрушение мемо ( т.е. ADM ) файлов
  • неверные переходы с записи на запись и некорректные автоинкрементные значения

ВНИМАНИЕ: лечение может привести к частичной потере данных


Нажмите Next. По кнопке Browse укажите директорию \temp\fix

AdtFix2.png

  • Начните проверку, нажав Next.

AdtFix3.png

  • Все файлы будут последовательно проверены. Перед именами правильных файлов появится слово VALID. Файлы с нарушенной внутренней структурой будут выделены. В этом примере это файлы DOCS0109.ADT, DOCZ0109.ADT.
  • Что бы вылечить файлы нажмите FIX

AdtFix4.png

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

AdtFix5.png

  • Укажите директорию размещения bak-копий. По умолчанию будет предложена директория запуска утилиты. Отвечайте Сохранить.
  • Перед исправленными файлами появляется слово FIXED.

AdtFix6.png

  • Перед тем, как завершить работу, утилита сообщает, что исправленые файлы могут содержать, коротко говоря, мусор и рекомендует произвести их чистку операцией Pack утилиты Advantage Data Architect. См ниже

AdtFix7.png

Удаление мусора

  • Перед тем как удалить мусор необходимо "отвязать" таблицы от Словаря базы данных утилитой freeadt.exe, которая ранее была записана вами в директорию \temp\fix. Перейдите в директорию \temp\fix и выполните freeadt. На приглашение командной строки наберите Y, Enter.

FreeAdt1.png FreeAdt2.png

  • Черный экран пропадет вместе сообщениями о том, что все таблицы директории отвязаны от Словаря.
  • Для каждого вылеченного файла ассоциативно запускайте утилиту Advantage Database Architect, нажимая Enter на выбранном файле .ADT. В открывшемся окне выполняйте пункт меню Pack.

FreeAdt3.png

  • Разрешайте чистку
  • Копируйте вылеченные и вычищенные таблицы на их рабочее место в "Фабиус"
  • Внимание! Обязательно удалите в "Фабиус" одноименные с заменяемыми файлы .ADI. Например, вы восстановили таблицу DOCS0109 и заменяете в директории \Fabius\Opdata файлы DOCS0109.ADT и DOCS0109.ADM. Сразу же после замены файлов, или перед ней, удалите файл DOCS0109.ADI. И так для каждой заменяемой таблицы

Смотрите также

Часто задаваемые вопросы

Администрирование