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

См. также

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

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

21600 руб.

15.05.2017    43137    12    24    

40

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    32317    18    21    

70

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

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

5000 руб.

28.11.2018    20102    14    6    

37

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

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

1 стартмани

29.12.2023    1759    20    dima_gsv    3    

13

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

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

1 стартмани

19.11.2023    1144    5    AlexSTAL    0    

8

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

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

1 стартмани

13.11.2023    3953    9    AlexSTAL    0    

47

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

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

3 стартмани

26.09.2023    2261    12    doom2good    10    

14

Журнал регистрации Статистика базы данных HighLoad оптимизация Конфигурации 1cv8 Абонемент ($m)

Удобный отчет по выполнению фоновых заданий в 1С с разбивкой по разным критериям, например по срокам, в какой последовательности, выполнение дольше всех, сколько одновременно и так далее.

5 стартмани

04.09.2023    1075    8    Maxiko    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 3392 30.09.15 11:41 Сейчас в теме
Спасибо за статью.

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

  • Чем теперь можно прочитать базу из файла new.db?
  • Как вернуть исправленный файл журнала в информационную базу (Как из new.db теперь сделать файл 1Cv8.lgd)?
3. leksmut 352 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 352 21.12.15 10:11 Сейчас в теме
(6) rail21111991,
вы остановили сервер приложений и т.д.? я, честно говоря, не пробовал такое делать.
какие проблемы возникли? файл открывается в конфигураторе на просмотр(с расширением lgd)?
4. pit201201 86 10.11.15 16:20 Сейчас в теме
Не статья, а спасательный круг!
5. pila86 130 25.11.15 08:34 Сейчас в теме
8. vde69 925 12.01.16 19:41 Сейчас в теме
при работе через дамп (как в сабже) у меня получились кракозябры в колонках "данные" и "представление"

а вот

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


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

но все равно автору спасибо!!!
Teplotrassamen; Seraph6; tikhmyanov; okrul_85; ipoloskov; корум; Lem0n; Enyel; Sley; Sherlock_kmw; teflon; invertercant; djam_arttek; vasilnikol; +14 Ответить
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 352 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 11 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 в папке базы данных. и все.
Оставьте свое сообщение