Если база данных имеет большой размер

Источник: dvprofessionals
Михаил Захаров

Если размер базы данных DocsVision имеет большой размер, при небольшом количестве документов и файлов, следует произвести анализ и очистку. Для определения размера каждой из таблиц выполните вызов хранимой процедуры:

dvsys_help_show_section_size

В результате работы будет выведен список таблиц, отсортированный по размеру, в сторону уменьшения. Ниже приведены рекомендации, если в списке таблиц с большим размером окажутся следующие.

1. dvtable_{388F390F-139E-498E-A461-A24FBA160487}

В данной таблице хранятся журналы всех экземпляров бизнес-процессов, которые существуют в системе. Для уменьшения размера таблиц нужно:
1. Удалить все отработавшие и уже не нужные экземпляры бизнес-процессов. Если запускаются подпроцессы, то необходимо сделать настройку удаления подпроцессов после завершения.
2. Определить какой из процессов делает большее число записей. Сделать это можно посмотрев на поле InstanceID в строке из данной таблицы. В этом поле содержится идентификатор карточки экземпляра бизнес-процесса. Журнал такого процесса, если он не нужен, можно очистить.
Команда очистки журнала определенного процесса:
DELETE FROM [dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID = 'ТУТ_ДОЛЖЕН_БЫТЬ_ID_ПРОЦЕССА_БЕЗ_ФИГУРНЫХ_СКОБОК'

Для удаления журналов всех завершенных бизнес-процессов выполните:
DELETE FROM [dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID IN
(SELECT InstanceID FROM [dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}] WHERE State = 4)

Можно удалить журналы всех экземпляров бизнес-процессов. На работу системы это не повлияет, однако, если есть процессы, приостановленные по ошибке, то причину остановки не удастся выяснить без журнала. Поэтому сначала нужно проверить нет ли процессов приостановленных по ошибке. Выяснить причину, а затем очищать таблицу.
Для удаления всех строк таблицы выполните:
TRUNCATE TABLE dvtable_{388F390F-139E-498E-A461-A24FBA160487}

Для предотвращения роста размера этой таблицы проверьте необходимость ведения журналов в активных бизнес-процессах, особенно которые работают по замкнутому циклу.

2. dvsys_log

В этой таблице хранятся записи журнала "Навигатора". Для того, чтобы журнал не увеличивался не ограниченно в размерах необходимо настроить автоматическую очистку. Для этого в журнале навигатора выставьте опцию "Очищать журнал" с соответствующим параметром. И в консоли настройки задайте "Папку для выгруженных файлов журнала". При такой очистке журнал будет выгружаться на диск (при помощи bcp). Это позволит в дальнейшем восстановить журнал при необходимости.
Удалить все записи из этой таблицы можно так же вручную запросом:
TRUNCATE TABLE dvsys_log

3. dvsys_files (dvsys_binaries)

В этой таблице хранятся все файлы, загруженные в DocsVision. Уменьшить размер этой таблицы можно только удалив ненужные файлы.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=20291