Ошибка формата файла журнала регистрации, database disk image is malformed

27.09.15

База данных - Журнал регистрации

Ошибка формата файла журнала регистрации
по причине:
sqlite3_step failed: database disk image is malformed
db: C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd
sql: SELECT severity, date, connectID, session, transactionStatus, transactionDate, transactionID, userCode,
computerCode, appCode, eventCode, comment, metadataCodes, sessionDataSplitCode, dataType, data, dataPresentation,
workServerCode, primaryPortCode, secondaryPortCode FROM EventLog WHERE date<3155378867999999 AND eventCode IN (1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42) ORDER BY date DESC
 
 

Разберемся с

Ошибка формата файла журнала регистрации

database disk image is malformed

Текст сообщения :


Ошибка формата файла журнала регистрации
по причине:
sqlite3_step failed: database disk image is malformed
db: C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd
sql: SELECT severity, date, connectID, session, transactionStatus, transactionDate, transactionID, userCode,
computerCode, appCode, eventCode, comment, metadataCodes, sessionDataSplitCode, dataType, data, dataPresentation,
workServerCode, primaryPortCode, secondaryPortCode FROM EventLog WHERE date<3155378867999999 AND eventCode IN (1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42) ORDER BY date DESC

Всё печально. Журнал регистрации убит каким-то системным сбоем.

Узнаем, что начиная с версии платформы 8.3.5.1068 журнал регистрации хранится в одном файле базы данных SQLite. Этот файл имеет расширение lgd. (Подробнее http://v8.1c.ru/o7/201310log/index.htm )

На форумах пишут, что надо выгрузить и загрузить базу данных SQLite, чтоб восстановить её работоспособоность, правда с возможными потерями данных.

Качаем и распаковываем отсюда https://www.sqlite.org/download.html последнюю версию утилиты для вашей ОС.
Мне подошла:
Precompiled Binaries for Windows sqlite-shell-win32-x86-3081101.zip (313.47 KiB)
The command-line shell program (version 3.8.11.1). (sha1: 1640b3608784a36a113d4fcf69681503e4e9cdc3)

Берем наш журнал, путь к нему можно взять из текста сообщения

C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd

и копируем в папку с утилитой.

Выполняем команду в командной строке

sqlite3 1Cv8.lgd ".dump" > 1.txt

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

sqlite3 new.db ".read 1.txt"

По окончании получаем работоспособную базу журнала в файле new.db
Теперь ее можно положить себе в архив и начать новый журнал регистрации.
Или попробовать вернуть на место испорченного журнала.

Stay backuped

 

sqlite журнал

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42522    10    24    

38

Версионирование объектов для Альфа-авто, ред 4 и 5.

Оптовая торговля Розничная торговля Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Управленческий учет Платные (руб)

Подсистема версионирования объектов для конфигураций Рарус: Альфа-авто на базе типовой подсистемы от 1С. Позволяет хранить историю изменений документов и справочников, кто, что, когда и какие данные изменял, а так же вернуться к предыдущим версиям объекта.

4800 руб.

03.09.2016    42255    33    24    

37

LogManager - Внешний журнал регистрации в SQL

Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Журнал регистрации платформы 1С в SQL. Общая база хранения всех журналов. Через com-подключение регламентным заданием периодически догружает журналы регистраций из рабочих баз. Предоставляет настраиваемый доступ к журналам по правам подразделений. Формирует отчеты по пользователям и данным.

10000 руб.

23.05.2014    55472    52    16    

47

Мониторинг баз и серверов 1С

Журнал регистрации Мониторинг Платформа 1С v8.3 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

9000 руб.

28.08.2019    30955    14    21    

66

LogiCH - хранение и анализ журнала регистрации в сверхбыстрой СУБД ClickHouse

Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

5000 руб.

28.11.2018    19545    13    6    

36

Регламентное сокращение журнала регистрации

Инструменты администратора БД Журнал регистрации Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    1245    12    dima_gsv    1    

12

Магия преобразований: ЖР, ТЖ, RAS/RAC, логи - универсальное решение Vector

Мониторинг Журнал регистрации Технологический журнал Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    2971    4    AlexSTAL    0    

42

Мониторинг состояния с отправкой в telegram

Журнал регистрации Инструменты администратора БД Мониторинг Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Абонемент ($m)

Внешняя обработка для БСП-конфигураций с простым программным интерфейсом. Предназначена для мониторинга состояния системы. Базово реализована отправка ошибок из журнала регистрации, но можно легко добавить мониторинг других журналов, каких-либо действий пользователей, состояния системы (например закрытие месяца).

3 стартмани

26.09.2023    1753    11    doom2good    10    

13
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. asved.ru 36 30.09.15 09:43 Сейчас в теме
При описанном порядке импорт выполняется крайне медленно.

Решение:

sqlite3 <ИмяФайлаДатабазы>
> pragma mmap_size=1073741824;
> pragma cache_size=32768;
> pragma journal_mode=OFF;
> pragma synchronous=OFF;
> .read D:\\db\\file.sql


2. Tavalik 3352 30.09.15 11:41 Сейчас в теме
Спасибо за статью.

Но, скажите, пожалуйста:

  • Чем теперь можно прочитать базу из файла new.db?
  • Как вернуть исправленный файл журнала в информационную базу (Как из new.db теперь сделать файл 1Cv8.lgd)?
3. leksmut 350 30.09.15 14:00 Сейчас в теме
(2) Tavalik,
для поиска просмотра можно использовать SQLite Database Browser
я дописал в основной статье http://1csoft.com/content/oshibka-formata-fajla-zhurnala-registratsii-database-disk-image-malformed

а если хотите вернуть на место, то аккуратно останавливаете сервер 1С, переименовываете new.db в 1cv8.lgd и записываете поверх старого.
6. rail21111991 19.12.15 18:43 Сейчас в теме
(3) а как записать поверх старого 1cv8.lgd новый файл new.db?Просто переименованием не помогло...
7. leksmut 350 21.12.15 10:11 Сейчас в теме
(6) rail21111991,
вы остановили сервер приложений и т.д.? я, честно говоря, не пробовал такое делать.
какие проблемы возникли? файл открывается в конфигураторе на просмотр(с расширением lgd)?
4. pit201201 84 10.11.15 16:20 Сейчас в теме
Не статья, а спасательный круг!
5. pila86 129 25.11.15 08:34 Сейчас в теме
8. vde69 925 12.01.16 19:41 Сейчас в теме
при работе через дамп (как в сабже) у меня получились кракозябры в колонках "данные" и "представление"

а вот

sqlite3 1Cv8.lgd ".clone new.db"


сработало как надо (и быстрее и меньше места нужно, 2 гига примерно 1 минуту делал).

но все равно автору спасибо!!!
Seraph6; tikhmyanov; okrul_85; ipoloskov; корум; Lem0n; Enyel; Sley; Sherlock_kmw; teflon; invertercant; djam_arttek; vasilnikol; +13 Ответить
9. djam_arttek 15.01.16 06:38 Сейчас в теме
(8) vde69, спасибо, это работает
10. bandru 12.02.16 10:27 Сейчас в теме
http://its.1c.ru/db/metod8dev#content:5867:hdoc на ИТС неплохо описано
Seraph6; Yran; kraynev-navi; klinval; +4 Ответить
11. tdml 23.03.16 04:59 Сейчас в теме
(10) Тоже прочитал ИТС инструкцию, но при выполнении второй команды "sqlite3 1Cv8.lgd < backup.sql" всё делалось ужасно долго. Автор данной статьи как раз правильно написал команду "sqlite3 new.db ".read 1.txt"", т.е. не в тот же файл восстанавливать, а в новый. У меня в журнале примерно +100 млн. записей, за сутки отработало примерно 22 млн, если делать по ИТС инструкции. Эти тормоза, я так понял, из-за вывода ошибок на экран - из инструкции:"При этом могут выводиться ошибки. Это нормально.". Прервал вывод и сделал вывод как автор указал, типа "sqlite3 1Cv8_new.lgd < backup.sql", отработало где-то минут за 45-50. Потом также подложил журнал на прежнее место и запустил службу сервера 1С, вроде всё заработало.
12. makfromkz 35 29.06.16 07:03 Сейчас в теме
Спасибо!
Статья помогла зафиксить ошибку
13. project_21 17.03.17 05:21 Сейчас в теме
Доброго времени суток!
На сервере 1С несколько баз.
Не подскажите, как определить, какой лог-файл к какой базе относиться?
14. Andrey92 22.03.17 10:54 Сейчас в теме
(13)
в папке \1cv8\srvinfo\reg_1541 есть файл 1CV8Clst.lst, там расписано
project_21; +1 Ответить
15. project_21 22.03.17 11:17 Сейчас в теме
16. fktrc171 19.05.17 11:04 Сейчас в теме
Спасибо! Помогло, но почему-то новый файл с длиной 0
17. leksmut 350 19.05.17 14:07 Сейчас в теме
(16) уверены, что помогло? может вы похерили журнал часом?
18. fktrc171 30.05.17 12:37 Сейчас в теме
(17) помогло в смысле , что заработало. А журнал почему-то да , почистился , но все делала , как рекомендовано и ошибок нигде не было.
19. user779544 27.06.17 09:10 Сейчас в теме
У меня почему-то не получается, выдает ошибку Error: near "sqlite3": syntax error Подскажите как исправить.
20. 27272 29.06.17 05:06 Сейчас в теме
Подскажите, а если выходит ошибка : Ошибка формата файла журнала регистрации
по причине:
sqlite3_exec failed: database disk image is malformed
db: D:\1CBase\БГУ2\1Cv8Log\1Cv8.lgd
sql: PRAGMA journal_mode = delete

И база файловая. Что делать?
21. djam_arttek 30.06.17 11:47 Сейчас в теме
(20) Не зависимо от того какой вариант базы 1С, файл журнала регистрации 1С в формате sqlite3.

По всей видимости файл побит. Необходимо его восстановить
22. VadimG83 05.07.17 00:29 Сейчас в теме
Огромное спасибо! Спасли! Всем спасибо и еще раз. Спасибо не только за статью, но и за обсуждение данной проблемы!
23. Johnson1987 29 17.11.17 19:17 Сейчас в теме
Делал на файловой базе, платформа 8.3
ввод команд из статьи:
sqlite3 1Cv8.lgd ".dump" > 1.txt
sqlite3 new.db ".read 1.txt"

- вернул new.db с размером 0

помогла команда
sqlite3 1Cv8.lgd ".clone new.db"


Журнал восстановлен, всем спасибо
DimonNT; 1eonov; +2 Ответить
24. user875140 06.12.17 02:05 Сейчас в теме
Сначала, нужно понять - а нужен ли Вам вообще это файл журнала регистрации!!!
Как я понял в нем хранятся информация кто из пользователей что и когда делал (проводил/удалял и т.д.) мне он вообще не нужен! - 1 ПК, ИП, конфигурация УНФ. Я просто его удалил, предварительно на всякий случай сохранив конечно. При первом запуске базы пустой файл был создан ей автоматически. Ошибка исчезла. Все данные в базе остались)).
p.s. у меня эта ошибка вылезла после обновления тех. платформы.
user970589; +1 Ответить
25. user949635 04.04.18 13:11 Сейчас в теме
(24) Спасибо, за Ваш ответ, т.к. Вы правы файл никому и не нужен, а работать надо, квартальный отчет. А тех.поддержка занята и готова удаленно подключиться лишь через неделю.
26. Созинов 09.07.18 17:14 Сейчас в теме
(24) Даже при монопольном доступе к базе может понадобится журнал регистрации. Если в базе работает несколько пользователей, то тем более нужен. Бывает нужно посмотреть кто обращался к документу (историю объектов накладно по всем объектам хранить) или ошибки выполнения. До инцидента он действительно не нужен, хотя иногда может понадобится для анализа. На крупных проектах желательно и технологический журнал настраивать нормально.
27. user940969 30.08.18 04:20 Сейчас в теме
Журнал размером в 16 Гб восстановлен и отправлен в архив. Спасибо за статью!
28. komanch75 28.03.19 09:00 Сейчас в теме
У меня вообще реакции ноль. Эта консоль во время работы должна как то показывать что она работает?
29. user600004_kloleg 12.04.19 16:58 Сейчас в теме
(28)
я вообще реакции ноль. Эта консоль во время ра

файл 1.txt растет?
30. SantiouS 29.12.20 15:51 Сейчас в теме
Развернул бэкап рабочей БД на тестовой БД и возникла необходимость с рабочей БД так же взять журнал регистрации.
Не останавливая работу основной БД скопировал файл журнала регистрации и положил в папку лога тестовой БД. В результате при открытии журнала регистрации возникла описанная выше ошибка.
Помогло:
1) установка "sqlite-tools-win32-x86-3340000.zip
(1.76 MiB) A bundle of command-line tools for managing SQLite database files, including the command-line shell program, the sqldiff.exe program, and the sqlite3_analyzer.exe program."
2) выполнение команды "sqlite3 1Cv8.lgd ".clone 1Cv8.db" с последующей остановкой сервера 1с8 и переименованием 1Cv8.db в 1Cv8.lgd и заменой старого битого файла на новый преобразованный. В конце, естественно, запущен сервер 1с8.

Выполнение команд предложенным автором результата не дало, так как в конце был создан файл БД с нулевым размером.
31. KirillGermann 8 28.03.22 20:21 Сейчас в теме
Мне в подобной "беде" помогло:
1. остановить сервер srv1cv83 stop
2. Найти файла журнала регистрации и удалить его
3. запустить сервер srv1cv83 start (при старте создался новый файл ЖР).
База запустилась.
После запуска изменить формат ЖР
32. user970589 10 23.04.22 13:57 Сейчас в теме
Интересная статья. Ну, если логи в журнале смотреть не нужно, а это 95% случаев - файлик можно просто удалить, база создаст новый.
33. gelion 40 26.05.22 07:51 Сейчас в теме
Мне это решение не помогло. Так как результирующий файл был пустым

А помогло такое решение:

Так же как и в этой статье нужно создать папку с утилитами, в нее скопировать файл 1Cv8.lgd

В командной строке запускаем консоль sqlite3 с открытием этой базы
sqlite3 1Cv8.lgd

Вводим команду восстановления
> .recovery

Консоль начинает печатать огромное количество строк, просто ожидаем

По окончании файл 1Cv8.lgd будет восстановлен, копируем его туда, откуда брали (естественно нужно сохранить оригинал, вдруг это не поможет)
34. luda33 29.09.23 08:19 Сейчас в теме
Для тех кто хочет быстро, база файловая и журнал не важен - переименовать или удалить папку 1Cv8Log в папке базы данных. и все.
Оставьте свое сообщение