Почему разрастается папка 1Cv8FTxt при обновлении 1С и как безопасно очистить файлы changesTable

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При обновлении конфигураций или платформы 1С:Предприятие администраторы и разработчики нередко сталкиваются с ситуацией, когда служебный каталог 1Cv8FTxt неожиданно вырастает до десятков и даже сотен гигабайт. При этом сам файл базы данных 1Cv8.1CD может занимать всего несколько гигабайт. Внутри каталога появляется огромное количество файлов с именами вида changesTable_*.dat фиксированного размера (как правило, по 8 МБ). Разберем, за что отвечает эта папка, почему происходит лавинообразный рост файлов и как правильно вернуть дисковое пространство без вреда для данных.

Причины резкого увеличения размера каталога 1Cv8FTxt

Каталог 1Cv8FTxt предназначен для хранения данных механизма полнотекстового поиска данных (ППД). Работа этого механизма делится на фиксацию изменений, обновление индекса и его слияние. Проанализируем ключевые факторы, приводящие к разрастанию каталога:

  1. Массовая модификация данных обработчиками обновления: при переходе между релизами конфигурации запускаются масштабные процедуры обновления данных. Каждая запись или изменение ссылочного объекта и регистров регистрируется платформой в очередь изменений для ППД. Ссылки на измененные объекты накапливаются порциями по 8 МБ в файлах changesTable_*.dat.
  2. Смена режима совместимости: при повышении версии платформы и отключении устаревших режимов совместимости внутренний формат индексов полнотекстового поиска может меняться. Если регламентная процедура слияния индексов не выполняется вовремя, накопившиеся порции изменений остаются на диске.
  3. Отсутствие или сбой регламентного слияния: если регламентное задание Обновление индекса ППД работает в фоновом режиме, но операция полного слияния дельт с основным индексом отключена или завершается аварийно, временные файлы регистрации изменений не удаляются автоматически и заполняют весь свободный объем диска.

Способ 1. Очистка и перестроение индекса через пользовательский интерфейс

Рассмотрим штатный и самый безопасный способ восстановления корректного состояния полнотекстового поиска непосредственно из пользовательского режима программы. Разберем выполнение по шагам:

  1. Откроем программу под учетной записью с административными правами.
  2. Перейдем в раздел Администрирование → Обслуживание (или Поддержка и обслуживание).
  3. Раскроем блок Регламентные операции и выберем пункт Полнотекстовый поиск данных (или нажмем Настроить).
  4. В открывшемся окне нажмем кнопку Очистить индекс. Это действие удалит накопленные порции изменений и сбросит текущее индексное состояние.
  5. После завершения очистки нажмем кнопку Обновить индекс для повторной индексации актуальных данных базы.

Способ 2. Ручная очистка файлов на уровне файловой системы

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

  1. Обязательно завершим все сеансы пользователей и закроем конфигуратор (в файловом режиме), либо временно остановим службу сервера 1С:Предприятия (в клиент-серверном режиме).
  2. Создадим резервную копию информационной базы для обеспечения безопасности.
  3. Перейдем в каталог расположения базы данных и найдем папку 1Cv8FTxt.
  4. Удалим все файлы с маской changes*.dat (включая changesTable_*.dat) либо полностью удалим саму папку 1Cv8FTxt.
  5. Запустим базу данных. Платформа автоматически создаст пустую служебную структуру каталога ППД.
  6. После входа в систему выполним регламентное обновление индекса через интерфейс администрирования.

Способ 3. Программный сброс и слияние индекса средствами встроенного языка

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


// Полная очистка текущего индекса полнотекстового поиска
ПолнотекстовыйПоиск.ОчиститьИндекс();

// Обновление индекса с обязательным выполнением слияния порций изменений
// Первый параметр: Ложь (не только проверка)
// Второй параметр: Истина (выполнить слияние порций с основным индексом)
ПолнотекстовыйПоиск.ОбновитьИндекс(Ложь, Истина);

Параметр слияния (второй параметр метода ОбновитьИндекс) отвечает за объединение накопленных порций с основным массивом индекса и последующее удаление временных таблиц регистрации изменений.

Оптимизация и отключение полнотекстового поиска

Если в организации пользователи не применяют глобальную поисковую строку по всем объектам базы данных, полнотекстовый поиск можно полностью отключить. Это позволит снизить нагрузку на дисковую подсистему и ускорить проведение документов:

  1. Программное отключение: вызвать команду ПолнотекстовыйПоиск.УстановитьРазрешение(Ложь);. Каталог 1Cv8FTxt перестанет заполняться.
  2. Оптимизация на уровне метаданных: в конфигураторе для высоконагруженных объектов (крупные регистры сведений, регистры накопления, вспомогательные документы) установить свойство Полнотекстовый поиск в значение Не использовать. Это исключит регистрацию изменений по этим таблицам.

Важно помнить: после ручного удаления файлов changesTable_*.dat или вызова метода ОчиститьИндекс() полнотекстовый поиск не будет находить часть данных до тех пор, пока процедура обновления индекса не завершится полностью.

← На главную