Ручное "сжатие" внутренней базы Dr.Web® Enterprise Suite — различия между версиями

Материал из wiki.drweb.com
Перейти к: навигация, поиск
м
Строка 1: Строка 1:
01. Остановить ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).
+
1. Остановить ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).
+
02. Скопировать куда-нибудь, где много места, базу (C:\Program Files\DrWeb Enterprise Server\var\dbinternal.dbs) и drwidbsh.exe (C:\Program Files\DrWeb Enterprise Server\bin\drwidbsh.exe).
+
+
03. Стартовать ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).
+
+
04. Создать там, куда Вы скопировали базу и drwidbsh.exe, текстовый файл delold с таким содержимым:
+
  
DELETE FROM run WHERE beginrecvtime <= ?;
+
2. Скопировать куда-нибудь, где много места, базу (C:\Program Files\DrWeb Enterprise Server\var\dbinternal.dbs) и drwidbsh.exe (C:\Program Files\DrWeb Enterprise Server\bin\drwidbsh.exe).
  
DELETE FROM infection WHERE infectionrecvtime <= ?;
+
3. Стартовать ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).
  
DELETE FROM scanstat WHERE recievetime <= ?;
+
4. Создать там, куда Вы скопировали базу и drwidbsh.exe, текстовый файл '''delold''' с таким содержимым:
  
DELETE FROM installation WHERE starttime <= ?;
+
DELETE FROM run WHERE beginrecvtime <= ?;
 +
DELETE FROM infection WHERE infectionrecvtime <= ?;
 +
DELETE FROM scanstat WHERE recievetime <= ?;
 +
DELETE FROM installation WHERE starttime <= ?;
 +
DELETE FROM procerror WHERE errrecvtime <= ?;
 +
DELETE FROM station_components WHERE modtime <= ?;
 +
DELETE FROM station_environment WHERE createtime <= ?;
 +
DELETE FROM station_vdb WHERE createtime <= ?;
 +
DELETE FROM station_status WHERE createtime <= ?;
 +
DELETE FROM station_running WHERE starttime <= ?;
 +
DELETE FROM srv_run WHERE arrived <= ?;
 +
DELETE FROM srv_infection WHERE arrived <= ?;
 +
DELETE FROM srv_procerror WHERE arrived <= ?;
 +
DELETE FROM srv_scanstat WHERE arrived <= ?;
 +
DELETE FROM srv_installation WHERE arrived <= ?;
 +
DELETE FROM srv_unsent WHERE arrived <= ?;
 +
DELETE FROM srv_recvhistory WHERE arrived <= ?;
 +
DELETE FROM srv_names WHERE updatetime <= ?;
 +
DELETE FROM update_state WHERE rectime <= ?;
 +
DELETE FROM srv_status WHERE arrived <= ?;
 +
DELETE FROM deleted_stations WHERE created <= ?;
 +
VACUUM;
  
DELETE FROM procerror WHERE errrecvtime <= ?;
+
Знак вопроса заменить на дату YYYYMMDDHHMMSSTTT, например 20060801000000000. Это удалит все данные до 01/08/2006
  
DELETE FROM station_components WHERE modtime <= ?;
+
5. Запустить drwidbsh.exe dbinternal.dbs
  
DELETE FROM station_environment WHERE createtime <= ?;
+
6. Выполнить команду ''''.databases'''' и убедиться, что база подключилась нормально.
  
DELETE FROM station_vdb WHERE createtime <= ?;
+
7. Выполнить команду ''''.read '''delold'''''''
  
DELETE FROM station_status WHERE createtime <= ?;
+
8. Дождаться завершения процедуры (она может длиться несколько часов).
  
DELETE FROM station_running WHERE starttime <= ?;
+
9. Выполнить команду ''''.exit''''
  
DELETE FROM srv_run WHERE arrived <= ?;
+
10. Остановить [[Dr.Web&reg; Enterprise Server|ES сервер]] (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).
  
DELETE FROM srv_infection WHERE arrived <= ?;
+
11. Сохранить куда-нибудь на всякий случай старую базу, а на ее место записать сжатую.
  
DELETE FROM srv_procerror WHERE arrived <= ?;
+
12. Стартовать [[Dr.Web&reg; Enterprise Server|ES сервер]] (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).
  
DELETE FROM srv_scanstat WHERE arrived <= ?;
 
 
DELETE FROM srv_installation WHERE arrived <= ?;
 
 
DELETE FROM srv_unsent WHERE arrived <= ?;
 
 
DELETE FROM srv_recvhistory WHERE arrived <= ?;
 
 
DELETE FROM srv_names WHERE updatetime <= ?;
 
 
DELETE FROM update_state WHERE rectime <= ?;
 
 
DELETE FROM srv_status WHERE arrived <= ?;
 
 
DELETE FROM deleted_stations WHERE created <= ?;
 
 
VACUUM;
 
 
'''Знак вопроса заменить на дату YYYYMMDDHHMMSSTTT, например 20060801000000000'''
 
 
Это удалит все данные до 01/08/2006
 
 
05. Запустить
 
drwidbsh.exe dbinternal.dbs
 
 
06. Выполнить команду
 
.databases
 
и убедиться, что база подключилась нормально.
 
 
07. Выполнить команду
 
.read delold
 
 
08. Дождаться завершения процедуры (она может длиться несколько часов).
 
 
09. Выполнить команду
 
.exit
 
 
10. Остановить ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).
 
 
11. Сохранить куда-нибудь на всякий случай старую базу, а на ее место записать сжатую.
 
 
12. Стартовать ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).
 
 
 
13. Подключиться из консоли и отредактировать задания на удаление старых данных из базы (п. 6.5.3 документации).
 
13. Подключиться из консоли и отредактировать задания на удаление старых данных из базы (п. 6.5.3 документации).

Версия 12:36, 10 ноября 2006

1. Остановить ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).

2. Скопировать куда-нибудь, где много места, базу (C:\Program Files\DrWeb Enterprise Server\var\dbinternal.dbs) и drwidbsh.exe (C:\Program Files\DrWeb Enterprise Server\bin\drwidbsh.exe).

3. Стартовать ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).

4. Создать там, куда Вы скопировали базу и drwidbsh.exe, текстовый файл delold с таким содержимым:

DELETE FROM run WHERE beginrecvtime <= ?;
DELETE FROM infection WHERE infectionrecvtime <= ?;
DELETE FROM scanstat WHERE recievetime <= ?;
DELETE FROM installation WHERE starttime <= ?;
DELETE FROM procerror WHERE errrecvtime <= ?;
DELETE FROM station_components WHERE modtime <= ?;
DELETE FROM station_environment WHERE createtime <= ?;
DELETE FROM station_vdb WHERE createtime <= ?;
DELETE FROM station_status WHERE createtime <= ?;
DELETE FROM station_running WHERE starttime <= ?;
DELETE FROM srv_run WHERE arrived <= ?;
DELETE FROM srv_infection WHERE arrived <= ?;
DELETE FROM srv_procerror WHERE arrived <= ?;
DELETE FROM srv_scanstat WHERE arrived <= ?;
DELETE FROM srv_installation WHERE arrived <= ?;
DELETE FROM srv_unsent WHERE arrived <= ?;
DELETE FROM srv_recvhistory WHERE arrived <= ?;
DELETE FROM srv_names WHERE updatetime <= ?;
DELETE FROM update_state WHERE rectime <= ?;
DELETE FROM srv_status WHERE arrived <= ?;
DELETE FROM deleted_stations WHERE created <= ?;
VACUUM;

Знак вопроса заменить на дату YYYYMMDDHHMMSSTTT, например 20060801000000000. Это удалит все данные до 01/08/2006

5. Запустить drwidbsh.exe dbinternal.dbs

6. Выполнить команду '.databases' и убедиться, что база подключилась нормально.

7. Выполнить команду ''.read delold''

8. Дождаться завершения процедуры (она может длиться несколько часов).

9. Выполнить команду '.exit'

10. Остановить ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Stop).

11. Сохранить куда-нибудь на всякий случай старую базу, а на ее место записать сжатую.

12. Стартовать ES сервер (Пуск->Программы->DrWeb Enterprise Server->Server control->Restart).

13. Подключиться из консоли и отредактировать задания на удаление старых данных из базы (п. 6.5.3 документации).