Dr.Web® Enterprise Suite: Database disk image is malformed

Материал из wiki.drweb.com
Перейти к: навигация, поиск

Версия 4.32

При использовании внутренней СУБД сервера процедура должна выглядеть так:

1. остановить службу ES-сервера (если она работает);
2. удалить файл базы данных dbinternal.dbs;
3. проинициализировать новую базу данных:

Строка инициализации базы данных в Windows-версии сервера будет выглядеть примерно так:

"C:\Program Files\DrWeb Enterprise Server\bin\drwcsd.exe" -home="C:\Program Files\DrWeb Enterprise Server" -var-root="C:\Program Files\DrWeb Enterprise Server\var" -verbosity=all initdb D:\Keys\agent.key - - root


Данная команда, естественно, должна быть набрана в одну строку. В примере подразумевается, что сервер установлен в каталоге "C:\Program Files\DrWeb Enterprise Server", а агентский ключ agent.key лежит в D:\Keys.

После выполнения этой команды в папке %es-home%\var должен появиться новый файл базы dbinternal.dbs размером около 200 KB.

4. запустить службу ES-сервера;
5. переподключить агентов к серверу, выбрав в настройках агента команду "Новичок".

Версия 4.33 и выше

Если версия 4.33 была установлена "с нуля", то она регулярно делает резервные копии ценной информации, включая содержимое базы данных. Резервные копии кладутся в \var\Backup рабочего каталога сервера. Если резервная копия есть, то процедура восстановления выглядит следующим образом:

1. остановить службу ES-сервера (если она работает);
2. удалить файл базы данных dbinternal.dbs;
3. проинициализировать новую базу данных:

Строка инициализации базы данных в Windows-версии сервера будет выглядеть примерно так:

"C:\Program Files\DrWeb Enterprise Server\bin\drwcsd.exe" -home="C:\Program Files\DrWeb Enterprise Server" -var-root="C:\Program Files\DrWeb Enterprise Server\var" -verbosity=all initdb D:\Keys\agent.key - - root

Данная команда, естественно, должна быть набрана в одну строку. В примере подразумевается, что сервер установлен в каталоге "C:\Program Files\DrWeb Enterprise Server", а агентский ключ agent.key лежит в D:\Keys.

После выполнения этой команды в папке %es-home%\var должен появиться новый файл базы dbinternal.dbs размером около 200 KB.

4. импортировать из соответствующего файла резервной копии содержимое базы данных. Строка импорта выглядит примерно так:

"C:\Program Files\DrWeb Enterprise Server\bin\drwcsd.exe" -home="C:\Program Files\DrWeb Enterprise Server" -var-root="C:\Program Files\DrWeb Enterprise Server\var" -verbosity=all importdb "диск:\путь к бэкап файлу\database.dz"

Данная команда, естественно, тоже должна быть набрана в одну строку. В примере подразумевается, что сервер установлен в каталоге "C:\Program Files\DrWeb Enterprise Server".

5. запустить службу ES-сервера;

Если какие-то агенты были установлены после создания последней резервной копии и выпали из базы данных после восстановления, то их в версии 4.33 можно дистанционно перевести в режим "Новичок". Для этого нужно консолью подключиться к серверу, открыть меню Администрирование - пункт Конфигурация Dr.Web® Enterprise Server - вкладка Общие и включить режим Переводить неавторизованных в новички.

Если версия 4.33 была установлена поверх версии 4.32, то в её расписании отсутствует автоматическое резервное копирование. В этом случае процедура восстановления базы такая же, как для версии 4.32, только с поправкой на дистанционный перевод агентов в новички.

После восстановления базы рекомендуется консолью подключиться к серверу, открыть в меню Администрирование пункт Расписание Dr.Web® Enterprise Server и проверить в нём наличие задания Резервное копирование критичных данных сервера. Если такое задание отсутствует, то создать его.

Внутренняя БД

Иногда для внутренней БД все может быть намного проще (для любой версии) достаточно запустить утилиту администрирования (вариант для Windows, UNIX - аналогично) с путем к файлу БД:

%es-home%\bin\drwidbsh.exe %es-home%\var\dbinternal.dbs

и выполнить комманду vacuum:

vacuum; .exit

если после vacuum быдет выведено только время выполнения команды, то все прошло успешно и БД починена. В противном случае следует проделать одну из операций, описанных выше. Наиболее эффективно восстановление информации из бэкапа.