В процессе администрирования информационных баз «1С:Предприятия» системные администраторы и специалисты сопровождения нередко сталкиваются с ситуацией, когда свободное дисковое пространство на сервере или локальном диске стремительно исчерпывается. Виновником этого часто оказывается файл tableChanges.dat, который разрастается до десятков и сотен гигабайт. При этом проблема может неожиданно проявляться сразу на нескольких случайных базах данных. Выясним причину такого поведения платформы и подробно разберем все способы устранения неисправности.
Проанализируем назначение данного файла. Файл tableChanges.dat располагается в служебном каталоге полнотекстового поиска 1Cv8FTxt. В файловом варианте работы он находится непосредственно внутри папки с информационной базой, а в клиент-серверном варианте — в каталоге конкретной базы внутри кластера серверов по пути вида srvinfo/reg_xxxx/<GUID_базы>. В этом файле платформа «1С:Предприятие» накапливает список изменений данных в таблицах, которые затем должны быть обработаны и включены в индекс полнотекстового поиска (ППД).
Стремительный и неконтролируемый рост размера tableChanges.dat связан с зарегистрированной ошибкой платформы «1С:Предприятие». При регулярном выполнении регламентных заданий обновления индекса ППД механизм регистрации изменений дает сбой: платформа не очищает обработанные порции записей, а продолжает непрерывно дописывать новые данные в конец файла. В результате дисковое пространство заполняется до критического уровня.
Рассмотрим основной и самый надежный способ устранения проблемы. Фирма «1С» официально признала данную ошибку и выпустила обновления, полностью устраняющие утечку дискового пространства в механизме ППД. Ошибка воспроизводилась на ветках платформ 8.3.24, 8.3.25 и 8.3.26.
Разберем по шагам действия по обновлению системы:
8.3.24.1808 и выше;
- линейка 8.3.25: версия 8.3.25.1546 и выше;
- линейка 8.3.26: версия 8.3.26.1540 и выше.1Cv8FTxt, чтобы удалить уже разросшийся файл и дать платформе сформировать корректные индексы заново.Если оперативно обновить платформу не представляется возможным, рассмотрим штатный способ исправления ситуации через управление полнотекстовым поиском внутри программы. Эту процедуру также полезно выполнять после обновлений конфигурации.
Разберем по шагам процесс очистки и повторного построения индекса ППД:
tableChanges.dat.Бывают ситуации, когда файл tableChanges.dat достигает огромных размеров (сотни гигабайт), из-за чего штатные команды очистки индекса из пользовательского интерфейса зависают или завершаются аварийно из-за нехватки памяти. В таком случае выполним ручную зачистку на уровне файловой системы.
Разберем по шагам порядок безопасного удаления разросшихся файлов:
srvinfo/reg_xxxx/<GUID_базы>.1Cv8FTxt.tableChanges.dat или полностью очистим все содержимое папки 1Cv8FTxt. Платформа при последующем запуске автоматически создаст пустую корректную структуру каталога.USR1CV8). Для этого перейдем в папку %USERPROFILE%\AppData\Local\Temp\<GUID_базы> и удалим ее содержимое.В случаях, когда повреждение структуры индексации и регистрация изменений не сбрасываются штатным удалением, применим метод полной инициализации базы через файл выгрузки данных.
Рассмотрим порядок действий:
.dt.Проанализируем работу фоновых процессов, которые вызывают постоянную перезапись файла. В типовых конфигурациях за работу с ППД отвечают два основных регламентных задания: Обновление индекса ППД и Слияние индексов ППД.
Если принято решение полностью отказаться от использования полнотекстового поиска, необходимо не только отключить его в пользовательском интерфейсе, но и деактивировать соответствующие регламентные задания в списке фоновых задач кластера или конфигурации. В противном случае регламентные задания могут продолжать запускаться по расписанию и инициировать обращение к каталогу 1Cv8FTxt.
Если поиск нужен, но возможность обновить платформу пока отсутствует, рекомендуется скорректировать расписание: отключить частый запуск задания «Обновление индекса ППД» в течение рабочего дня и настроить выполнение процедур обновления и слияния исключительно в ночное нерабочее время с обязательным мониторингом объема папки 1Cv8FTxt.