Восстановление поврежденных файлов Назад В начало Вперед

У пользователей версии Галактики ERP на платформе Pervasive.SQL достаточно часто может возникать ситуация при которой выдается сообщение об ошибке Btrieve [2] с номером таблицы в которой возникает ошибка (см. п. Сообщения об ошибках системы Галактика ERP). В этом случае надо убедиться, что на диске, где размещена база данных, достаточно свободного места.

Если места достаточно, то данный статус свидетельствует о повреждении файла. В данном случае надо провести стандартную процедуру восстановления поврежденного файла. Его имя и местонахождение можно установить, используя функцию Просмотр словаря утилиты SQL инструментального комплекса SUPPORT. Если такой утилиты у Вас нет, то надо обратиться в техническую поддержку и сообщить номер таблицы, в которой возникает ошибка.

Процедура восстановления поврежденного файла состоит в следующем: надо скопировать этот файл в каталог \EXE\Recover Галактики ERP. Затем в командной строке Windows, находясь в каталоге \EXE\Recover, надо запустить пакетный файл recover2.bat, передав ему в качестве параметра, имя поврежденного файла. Эта команда выглядит так:

recover2.bat <имя_файла>

После восстановления следует переписать восстановленный файл в то место, откуда он брался, предварительно переименовав исходный файл. Затем надо проверить работоспособность Галактики ERP с восстановленными данными, попытавшись повторить ситуацию, приводившую к появлению статуса 2.

Причин возникновения ошибки Btrieve [2] много. Это может быть и сбойная сетевая карта, и испорченный диск или память. Если это сервер Novell Netware и ошибка 2 возникает достаточно часто, то проблема может заключаться в использовании режима компрессии томов и подвыделения блоков (Block Suballocation). Более подробную информацию по причинам возникновения ошибки 2 и ее исправления Вы можете прочитать на сервере корпорации Novell (в разделе Support).

Бывают случаи, когда стандартная процедура восстановления не помогает. Тогда файлов базы данных формата 7.х можно попробовать воспользоваться следующим способом. Один из этапов стандартной процедуры восстановления файла заменяется другим. Для этого используется утилита datasave. Ее можно переписать, например, с FTP-сервера службы технической поддержки ЗАО 'Галактика Софт' из каталога

ftp://ftp.galaktika.ru/pub/support/pervasive/btr_tools/

Методика восстановления файла базы данных с использованием утилиты datasave практически полностью аналогична восстановлению файла при помощи recover2.bat.

Рассмотрим работу с утилитой datasave на примере восстановления файла sklorder.dat:

Сначала Вы должны скопировать файл sklorder.dat из подкаталога \D_GAL каталога \DATA в каталог локального диска, например, в каталог \EXE Recover\Datasave. Далее в этот же каталог скопируйте и файл datasave.exe. Затем, надо выполнить из командной строки такую команду:

datasave  sklorder.dat

Затем Вам будет задан вопрос: Write SAVE file, or VIEW data on CRT (S or V)? В данном случае надо ответить S для сохранения файла. После этого будет выдан запрос имени файла, в который надо сохранить данные: Save to filename:

Для упрощения последующих манипуляций лучше набрать TMP.TXT

Теперь надо переименовать исходный файл sklorder.dat в каталоге D_GAL и зайти в Галактику, чтобы сформировался новый, пустой файл sklorder.dat. Скопируйте полученный файл в \EXE Recover\Datasave|.

Потом выполняем команду

butil -clone   tmp.pro  sklorder.dat

а затем команду

butil -load	tmp.txt  tmp.pro

После этого удаляем из каталога \EXE Recover\Datasave файл sklorder.dat, переименовываем файл tmp.pro в sklorder.dat, удаляем из каталога файл tmp.txt и переписываем полученный файл sklorder.dat в каталог \D_GAL Галактики ERP.

Для СУБД Pervasive.SQL версий 8 и 9 вместо утилиты datasave рекомендуется использовать Btrieve Maintenance Utility, используя функции Data -> Save и Data -> Load.