Ошибка формата файла журнала регистрации, 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!

21600 руб.

15.05.2017    42645    10    24    

38

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

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

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

4800 руб.

03.09.2016    42310    33    24    

37

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

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

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

10000 руб.

23.05.2014    55592    52    16    

47

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

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

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

9000 руб.

28.08.2019    31130    14    21    

66

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

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

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

5000 руб.

28.11.2018    19632    13    6    

37

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

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

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

1 стартмани

29.12.2023    1399    15    dima_gsv    1    

12

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

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

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

1 стартмани

13.11.2023    3150    4    AlexSTAL    0    

42

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

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

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

3 стартмани

26.09.2023    1839    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 3358 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 85 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 28 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 в папке базы данных. и все.
+
Оставьте свое сообщение