Перенос журнала регистрации 1С в формат SQLite (1Cv8.lgd)
- Каталог журнала регистрации содержит более 100 000 мелких файлов
*.lgp, вызывая отказ файловой системы (исчерпание inodes). - Низкая скорость фильтрации и поиска по пользователям/периодам в журнале.
- Сбои целостности журнала при аварийных перезагрузках ОС.
1. Преимущества формата журнала SQLite (lgd)
Начиная с версии 8.3.5, платформа 1С поддерживает хранение журнала в формате реляционной базы данных SQLite (1Cv8.lgd):
- Все данные хранятся в одном компактном файле;
- Высокая скорость фильтрации по сложным критериям за счет встроенных индексов;
- Устойчивость к сбоям благодаря WAL-журналированию (Write-Ahead Logging);
- Отсутствие проблем с фрагментацией файловой системы.
2. Конвертация журнала из старого формата в SQLite
- Завершите работу всех пользователей и остановите службу кластера 1С.
- Запустите утилиту конвертации в режиме Конфигуратора:
# Конвертация через пакетный запуск Конфигуратора
"C:\Program Files\1cv8\8.3.23.1865\bin\1cv8.exe" DESIGNER \
/S "srv-1c.corp.local\trade_production" \
/N "Admin" /P "StrongPassword" \
/ConvertEventLogToSQLite \
/Out "C:\temp\convert_log.txt"3. Обратная конвертация в текстовый формат (при необходимости)
"C:\Program Files\1cv8\8.3.23.1865\bin\1cv8.exe" DESIGNER \
/S "srv-1c.corp.local\trade_production" \
/N "Admin" /P "StrongPassword" \
/ConvertEventLogToOldFormat \
/Out "C:\temp\convert_back.txt"4. Тюнинг производительности SQLite WAL для 1Cv8.lgd
Для высоконагруженных систем настройте прагмы SQLite для снижения нагрузки на диск:
# Проверка режима журнала через sqlite3
sqlite3 /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log/1Cv8.lgd "PRAGMA journal_mode;"
# Установка эффективного размера страницы и кэша
sqlite3 /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID>/1Cv8Log/1Cv8.lgd "PRAGMA synchronous = NORMAL;" Частые вопросы (FAQ)
Сколько времени занимает процесс конвертации журнала в SQLite?
Время зависит от объема старых логов и скорости диска: в среднем процесс занимает от 10 до 30 минут на каждые 10 GB исходных файлов .lgp.
Что делать, если при конвертации возникла ошибка блокировки файла?
Убедитесь, что все службы кластера (ragent, rmngr, rphost) полностью остановлены и ни один фоновый процесс не держит дескриптор папки 1Cv8Log.
Поддерживается ли разделение SQLite журнала по годам?
Нет, файл 1Cv8.lgd является монолитной базой данных. Разделение по периодам реализуется регулярной процедурой архивации и обрезки (ReduceEventLogDate).
Какой формат журнала используется по умолчанию в новых базах?
Во всех вновь создаваемых информационных базах платформа 1С по умолчанию создает журнал регистрации исключительно в формате SQLite (1Cv8.lgd).