Содержание
- Проблема
- Причина
- Решение
- Где хранится журнал регистрации
- Настройка журнала
- Оптимизация журнала регистрации
- Михаил Сайко
- Где в 1С находится журнал регистрации ошибок?
- Как открыть журнал регистрации?
- Как отключить журнал регистрации?
- Как выгрузить журнал регистрации?
- Как восстановить журнал регистрации?
- Как сократить журнал регистрации?
- Как очистить журнал регистрации?
- Можно ли программно добавить запись в журнал?
- Как вернуть старый формат журнала регистрации?
- Можно ли перенести журнал регистрации в отдельную базу?
- Рекомендуем к прочтению
Проблема
sqlite3_step failed: database disk image is malformed
db: C:ut111Cv8Log1Cv8.lgd
Или другие ошибки связанные с sqlite.
Причина
Причиной ошибок sqlite может служить повреждение данных в файле журнала регистрации. Способ решения этой проблемы описан в данной статье. О том, что Вы столкнулись именно с этой проблемой говорит ошибка database disk image is malformed . При этом она может быть скрыта другими ошибками sqlite. Когда пользователи получают ошибки sqlite, следует искать ошибку database disk image is malformed в журналах клиентских приложений (для файлового варианта) или менеджеров кластера. Она будет указана в журнале в виде:
16:29.504002-0,EXCP,0,process=rmngr,Exception=EventLogException,Descr=’sqlite3_exec failed: database disk image is malformed
db: C:Program Files1cv8srvinfo
eg_154150b80b42-24a3-4f33-8508-5672acb806211Cv8Log1Cv8.lgd sql: PRAGMA journal_mode = OFF’
Такая ошибка означает, что файл журнала регистрации, указанный в ошибке, поврежден.
Решение
Утилита командной строки sqlite
Для Windows утилиту нужно скачать отсюда.
Для Linux следует использовать утилиту, доступную в официальных репозиториях.
Восстановление
ВНИМАНИЕ! Все нижеследующие операции обязательно производите над копией файла журнала регистрации
- Остановите кластер "1С:Предприятия" или завершите все клиенты для файлового варианта.
- Скопируйте испорченный файл 1Cv8.lgd в отдельную директорию. Например, "C:LogRestore".
- Туда же разархивируйте sqlite3.exe из архива, который скачале ранее.
- В командной строке перейдите в рабочую директорию ("C:LogRestore").
- Выполните команду:
sqlite3 1Cv8.lgd .dump >> backup.sql
При этом могут выводиться ошибки. Это нормально.
Журнал регистрации 1С — специальный механизм платформы 1С версий 8.2 и 8.3, который позволяет фиксировать работу пользователей с системой. С помощью журнала можно узнать, кто и когда изменял объекты в системе: справочники, документы, регистры и т.д. Ниже мы рассмотрим, как работать с этим механизмом, где хранятся файлы журнала регистрации 1С, каким образом происходит его настройка, как оптимизировать журнал регистрации и как можно произвести полную очистку данных.
Где хранится журнал регистрации
Начнем с того, где хранится журнал регистрации в 1С. Варианта может быть два — для файлового и клиент серверного режима работы.
Файловая база
Для файловых баз данных 1С журнал находится в папке с базой данных. Расположение файлов можно узнать при запуске программы в меню выбора базы данных:
Красным выделен путь. Если мы проследуем по этому пути, то увидим следующую картину:
Папка 1Cv8Log — это и есть директория, содержащая журнал регистрации.
- Если Вы планируете перенести файловую базу данных и хотите сохранить историю журнала регистрации, Вам обязательно надо скопировать папку 1Cv8Log в категорию новой базы 1С.
- Если необходимо очистить журнал регистрации 1С в файловой базе, просто удалите папку 1Cv8Log.
Клиент-серверная база 1С SQL
В клиент-серверном режиме файлы истории обычно хранятся на сервере в каталоге:
C:Program Files1cv8srvinfo 1Cv8Log
Чтобы перенести журнал регистрации 1С для базы SQL, так же, как и для файловой, достаточно перенести папку в расположение новой базы.
Так же и с удалением — достаточно просто удалить данную папку.
Настройка журнала
Чтобы увидеть доступные настройки, необходимо зайти в режиме 1С конфигуратор и в главном меню найти пункт «Администрирование — Настройка журнала регистрации…»:
Получите 267 видеоуроков по 1С бесплатно:
В открывшемся интерфейсе доступны следующие настройки ведения журнала:
Здесь в поле «Регистрировать в журнале события» можно указать детализацию регистрируемых данных. Пункт «Не регистрировать» позволяет отключить ведение журнала вовсе. Другие пункты расшифровываются следующим образом:
- Ошибки — все возможные варианты сбоев и ошибок в системе;
- Предупреждения — важные сообщения системы, которые не являются ошибками;
- Информация — вся информация об изменяемых данных системы;
- Примечания — неважные сообщения (почти всегда их можно отключить).
Другие настройки рассмотрим далее, они относятся к оптимизации работы журнала.
Оптимизация журнала регистрации
Среди способов оптимизации скорости загрузки и работы с журналом можно выделить следующие методы:
Регистрацию меньшего количества событий. Отключение записи неважных для нас сообщений позволит существенно сократить объем информации и увеличить скорость работы.
Разделение хранения журнала по периодам. Если изменить настройку «Разделять хранение журнала по периодам» на значение день (для больших баз данных) / неделя (для средних), можно существенно поднять производительность журнала. Файлы логов будут разбиваться в папке 1Cv8Log на порции, заданные в настройке, и будут иметь вид, подобный 20140905000000.lgp, в котором видно дату и время создания лога.
Сокращение журнала регистрации также дает существенную оптимизацию в работе с журналом. Для этого нажмите на кнопку «Сократить» в настройках. Выберите период, до которого желаете сократить журнал:
При использовании данного способа настоятельно рекомендуется записать удаляемые события в отдельный файл. Это позволит в любой момент восстановить историю, которая была удалена из журнала базы данных 1С.
И последний и самый эффективный способ оптимизации — перевод журнала регистрации на так называемый «Новый формат». Доступен он начиная с версии платформы 1С 8.3.5.1068. Данный формат хранения лога журнала регистрации не в текстовом файле, а в отдельной базе данных на СУБД SQLite.
Для перехода на новый формат достаточно сконвертировать журнал с помощью нажатия кнопки «Новый Формат»:
Будьте внимательны, обратная конвертация в старый формат невозможна.
В системе 1С для анализа технической информации существует также технологический журнал.
Другие статьи по 1С:
Видео по настройке журнала регистрации:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Михаил Сайко
Если вы должны обеспечивать работоспособность системы 1С с большим количеством пользователей, то часто возникают ситуации, когда необходимо проверить их действия. Именно для этого разработчики и создали отличный механизм – журнал регистрации. Он позволит узнать, кем вносились изменения в документы и другие объекты системы, кто получал сообщение об ошибках, запускал отчеты.
Где в 1С находится журнал регистрации ошибок?
Отследить, какие ошибки появлялись у пользователей в процессе работы, можно несколькими способами. Чаще всего проще и быстрее открыть меню «Администрирование», зайти в пункт «Обслуживание» и нажать «Журнал регистрации»:
Также в журнал регистрации попадете, воспользовавшись общим меню под названием «Все функции»:
Кроме этого, запустить журнал можно и из конфигуратора. Для этого откройте вкладку меню «Администрирование» и выберите пункт «Журнал регистрации»:
Местонахождение данных журнала отличается для случаев файловых и клиент-серверных баз. В первом случае файлы журнала регистрации расположены в папке с базой в отдельном каталоге «1Cv8Log». Если реализованы сервер и клиентские места, то история ошибок и действия пользователей находиться на сервере в отдельной папке.
Как открыть журнал регистрации?
Чтобы открыть данные по истории действий пользователей и ошибок необходимо зайти в журнал регистрации любым способом и установить отборы. Проблема в том, что при большом количестве пользователей журнал регистрации становится внушительного размера и 1С показывает лишь несколько последних записей. Чтобы увидеть больший список данных – необходимо выставить нужные фильтры.
В открывшейся форме вы сможете установить те отборы по данным журнала регистрации, которые необходимы. Сверху задается интервал поиска, если необходимо учесть, когда были зафиксированы действия пользователей или ошибки. Слева вы отмечаете, события какой важности вас интересуют, а справа можно установить отборы:
- Тип события;
- Пользователя, под которым произошло действие или ошибка;
- Приложение;
- Компьютеры;
- Перечень сеансов.
В разделе «Данные» можно установить отборы на конкретные объекты системы от всего списка документов, до поиска по единственному элементу справочника. Раздел «Транзакция» позволит отследить только записанные операции или еще не завершенные. Раздел «Прочие» предоставляет возможность поиска по различным серверам или IP портам.
Как отключить журнал регистрации?
Многие компании, не располагающие мощными серверами и нежелающие тратить деньги на аренду оборудования, отключают журнал регистрации в 1С. Это чревато тем, что в случае ошибок вы не сможете посмотреть, когда и у кого они появлялись. Но журнал регистрации требует много ресурсов, поэтому иногда, действительно, целесообразно отказаться от этого механизма. К тому же, механизм версионирования объектов частично выполняет функции журнала регистрации, позволяя увидеть внесенные изменения в объекты системы.
Для того чтобы отключить журнал регистрации, необходимо сделать для администратора монопольный режим и зайти в конфигуратор. В выпадающем меню откройте вкладку «Администрирование» и откройте «Настройка журнала регистрации…».
После выбора пункта «Не регистрировать» и подтверждения своего выбора нажатием кнопки «ОК», запись всех событий в журнал регистрации остановится.
Как выгрузить журнал регистрации?
Так как данный механизм требует больших ресурсов, многие администраторы предпочитают работать с историей не через 1С, а в другом формате. Это позволяет не нагружать сервер, и клиентский компьютер при этом также работает существенно быстрее. Чтобы осуществить просмотр журнала регистрации, необходимо сформировать отчет с нужными данными в 1С. Затем нажмите «Еще/Вывести список…», выделите все столбцы и сохраните полученные данные в файл с нужным форматом с помощью клавиш Ctrl+А.
Также в 1С встроена функция «ВыгрузитьЖурналРегистрации()», которой можно воспользоваться во внешних обработках, чтобы выгружать себе определенные данные. Анализировать выгруженные данные может помочь типовая обработка «Консоль анализа журнала регистрации». Она распространяется на диске ИТС, который вы получаете, когда заключаете договор с партнерами компании 1С. Если же нет доступа к этим дискам, то на помощь может прийти интернет и официальный сайт ИТС.
Как восстановить журнал регистрации?
Бывают случаи, когда при переносе информационной базы или обновлении сервера журнал регистрации оказывается пустым. Если вам не повезло, и журнал некорректно работает, то придется заниматься восстановлением данных. В первую очередь проверьте сами файлы журнала регистрации. Если говорить о клиент-серверном варианте, то они хранятся на сервере в каталоге:
Зачастую достаточно бывает переноса содержимого этой папки в каталог с новым расположением ИБ, чтобы журнал регистрации восстановился. Если же это не помогло, то придется обращаться к архиву логов или стороннему ПО для восстановления данных журнала регистрации. Перед тем как запускать обработки на рабочей базе, обязательно потренируйтесь на копии ИБ.
Очень часто подобные проблемы появляются после неаккуратных попыток уменьшить размер файлов журнала регистрации.
Как сократить журнал регистрации?
По мере работы в 1С данные журнала регистрации становятся все больше. Если вы обладаете ограниченными ресурсами, то уже через пару лет вы столкнетесь с нехваткой места на диске. Уменьшить размер истории ошибок и действий пользователя – естественный шаг для экономии места и оптимизации работы базы. Для этого нам понадобиться режим конфигуратора.
Необходимо открыть форму «Настройка журнала регистрации…» из меню «Администрирование»:
В сокращении журнала регистрации нам помогут 2 функции:
- Кнопкой «Сократить» удаляем все данные до определенной даты;
- Возможность выбора периодов разделения журнала. При установке данной опции в значение «День», каждый день будет создаваться новый файл журнала регистрации. Мы сможем устаревшие данные перемещать на отдельный ресурс. Также не лишним будет применить архивирование журнала в zip или rar для минимизации занимаемого места.
Как очистить журнал регистрации?
Многие администраторы периодически чистят журнал регистрации. Это оправданно, если вам нужно удалить старые записи или в данных по истории действий в базе нет необходимости. Выше был рассмотрен способ очистки журнала до определенной даты – с помощью кнопки «Сократить», используя конфигуратор. Но это не единственная возможность у администратора, чтобы очистить избавиться от ненужных данных журнала регистрации.
Логи 1С хранятся в папке 1Cv8Log в каталоге расположения информационной базы. Чтобы очистить журнал регистрации достаточно просто удалить данную директорию вместе с содержимым. Это освободит немало места на жестком диске, но рекомендуется произвести архивирование журнала и переместить данные в другое место.
Можно ли программно добавить запись в журнал?
Многие администраторы и разработчики активно используют журнал регистрации не только для отслеживания ошибок и действий пользователя. Встроенный функционал внутреннего языка 1С позволяет им программно записывать свои события в журнал регистрации. Для этого используется функция «ЗаписьЖурналаРегистрации()» с набором параметров.
Таким образом, у каждого программиста есть возможность записывать собственные события в стандартный журнал регистрации. Эта возможность дает обширный простор для различных контролей и отслеживания работы пользователей. Особенно это актуально, если у вас настроено большое количество фоновых заданий, за которыми некогда следить.
Как вернуть старый формат журнала регистрации?
Начиная с версии 8.3.5, в 1С появляется новый формат данного механизма. Если вы создадите базу на основе платформы версии 8.3.5 и выше, то увидите в папке 1Cv8Log файл формата lgd. Пользователями уже замечено, что при большом количестве пользователей новый журнал регистрации работает существенно хуже. Поэтому многие администраторы заинтересованы в том, чтобы вернуть старый формат журнала регистрации.
Чтобы снова увидеть файл формата lgf, нужно для каждой базы 1С проделать следующий алгоритм:
- Найдите папку 1Cv8Log для конкретной базы;
- Удалите из каталога все файлы. Желательно сохранить их в другом месте;
- Создайте в папке 1Cv8Log пустой файл формата 1Cv8.lgf.
Вышеперечисленный алгоритм проделайте для каждой информационной базы.
Можно ли перенести журнал регистрации в отдельную базу?
Если вам пришлось переносить информационную базу на другой сервер, то необходимо не забыть и о журнале регистрации. Если на него не обращать внимания, то при просмотре вы обнаружите, что данные невозможно прочитать и придется журнал очищать.
Процедура переноса журнала отличается при файловом и клиент-серверном варианте информационной базы. В первом случае вам достаточно лишь найти в старом каталоге базы папку 1Cv9Log и скопировать ее в новую директорию базы.
Второй случай сложнее, так как потребуется исправлять идентификатор ИБ. Для этого откройте файл 1Cv8Reg, расположенный на сервере, и найдите в нем строчку с указание ID – источника ИБ. Зайдите в каталог этой ИБ и перенесите оттуда в новую директорию папку 1Cv8Log. Также следует внести изменения в адреса сервера, если базу перенесли.
Если у вас возникли сложности с переносом журнала, обратитесь к нашим специалистам. Мы с радостью проконсультируем вас, подскажем, сколько стоит доработка 1С, или, ориентируясь на ваши индивидуальные задачи, подберем оптимальный тариф сопровождения.