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

См. также

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

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

9000 руб.

28.08.2019    34050    22    21    

75

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

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

5000 руб.

28.11.2018    20802    17    6    

42

Журнал регистрации Программист Россия Бесплатно (free)

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    1006    user1913000    11    

18

Журнал регистрации Тестирование QA Программист Бесплатно (free)

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

21.10.2024    2965    leemuar    8    

22

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

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

1 стартмани

29.12.2023    2188    31    dima_gsv    3    

13

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

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

1 стартмани

19.11.2023    1472    5    AlexSTAL    0    

8

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

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

1 стартмани

13.11.2023    4801    9    AlexSTAL    0    

47

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

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

3 стартмани

26.09.2023    2878    19    doom2good    16    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 3411 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 88 10.11.15 16:20 Сейчас в теме
Не статья, а спасательный круг!
5. pila86 133 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 в папке базы данных. и все.
35. VitHammer 27 08.11.24 17:29 Сейчас в теме
Я вам подскажу еще более быстрое решение. Если журнал не важен. Забейте. Не открывайте его и всё. База данных при этом будет работать так же, как и раньше.
А если журнал важен, то тут как повезёт. Мне не повезло. Методика как у автора статьи не помогла - 1.txt создался, а вот new.db на втором шаге получился пустой. Причем в процессе работы он как бы постоянно увеличивался, а потом тупо стал нулевого размера и всё. sqlite3.exe отработал без ошибок.
sqlite3 1Cv8.lgd ".clone new.db" создала базу не нулевой длины, но от 72Гб осталось 140 Кб. Какой-то журнал, в котором нет никаких событий. То есть тоже полный провал.

sqlite3 1Cv8.lgd
> .recovery

Заработало на ура. До сих пор работает. Прошло уже 2 недели с лишним. Но пока работает. Есть шанс, что доработает, если свет не выключат. Или сервер не перегрузится. Пока дышу - надеюсь.

Что хотелось бы отметить в целом? Цитирую:
"В старых версиях платформы 1С:Предприятии, до 8.3.4 и младше мог быть использован только последовательный формат журнала регистрации .lgf.
В версиях с 8.3.5 по 8.3.11 по умолчанию используется формат SQLite .lgd.
В новых версиях, начиная 8.3.12 и старше по умолчанию используется последовательный формат .lgf."
КонецЦитататы

SQLite оказался таким конченным глюкалом, что 1С его сначала приняло на вооружение, а потом отказалось. И не зря. Мои проблемы (и ваши, и автора статьи) наглядно это иллюстрируют.
Оставьте свое сообщение