.DB-JOURNAL

Файл DB-JOURNAL

SQLite Rollback Journal
Задать вопрос
БЫСТРЫЙ ОТВЕТ

Файл .db-journal - это журнал отката SQLite (Rollback Journal), временный вспомогательный файл для восстановления после сбоев, который SQLite создает рядом с базой данных во время транзакции записи и удаляет в момент фиксации этой транзакции. Вы видите его только в том случае, если приложение аварийно завершило работу в середине транзакции и оставило его. Не удаляйте его, пока запущено какое-либо приложение. Чтобы восстановить данные, откройте основной файл .db в DB Browser for SQLite; SQLite прочитает журнал, автоматически откатит незавершенную транзакцию и удалит файл.

Разработчик: D. Richard Hipp / SQLite Development Team (public domain) Категория: Файлы баз данных Открыть стандартное MIME: application/octet-stream
ОТКРЫВАЕТСЯ НА Windows macOS Linux
Связанные: .DB · .DBF · .ACCDB · .SQL

На этой странице

Проиндексировано расширений: 19k+
Последняя проверка: Jul 11, 2026

Не знаете, что это за файл?

Перетащите любой файл в наш идентификатор - мы прочитаем первые байты, чтобы определить формат.

Идентифицировать файл

Что такое формат файла DB-JOURNAL?

Файлы с расширением .db-journal содержат образы страниц, необходимые для восстановления базы данных SQLite в случае сбоя транзакции. Это временные файлы, создаваемые SQLite в том же каталоге, где хранится база данных. Они не должны быть видны после завершения транзакции, так как SQLite автоматически удаляет их при выполнении команд COMMIT или ROLLBACK.

Благодаря файлам журнала отката транзакций с расширением .db-journal можно обеспечить атомарность транзакций в базе данных. Приложение, работающее с данными базы данных, которое аварийно завершается в середине транзакции, не оставит операции незавершенными - они будут возвращены в состояние, предшествующее началу транзакции. Файл .db-journal присутствует на диске:

  • во время выполнения транзакции записи (режим журнала DELETE, установленный в SQLite по умолчанию),
  • когда транзакция была прервана сбоем - до тех пор, пока следующее соединение не откроет базу данных,
  • когда база данных находится в режиме эксклюзивной блокировки (PRAGMA locking_mode=EXCLUSIVE) - до тех пор, пока он не будет выключен.

SQLite может использовать несколько различных временных вспомогательных файлов для обеспечения согласованности и безопасности операций с базой данных. .db-journal - это классический журнал отката; .db-wal и .db-shm выполняют аналогичную роль в более новом режиме WAL (Write-Ahead Log).

Именование файлов .db-journal

Файл журнала именуется путем добавления суффикса -journal к полному имени файла базы данных. Например, если база данных сохранена как baza.db, временный файл будет называться baza.db-journal и храниться в том же каталоге. Временные файлы обычно не видны пользователям. В случае сбоя или отключения питания журнал остается в каталоге до следующего открытия базы данных - тогда SQLite обнаруживает «горячий журнал» (hot journal), воспроизводит сохраненные образы страниц для восстановления состояния до транзакции и автоматически удаляет журнал.

Никогда не удаляйте файл .db-journal, пока выполняется транзакция записи, так как это приведет к повреждению базы данных. Наличие файла .db-journal после корректного завершения работы почти всегда указывает на предшествующий сбой; SQLite безопасно выполнит восстановление при следующем открытии. В режиме WAL (PRAGMA journal_mode=WAL), представленном в SQLite 3.7.0 (июль 2010 г.), файл .db-journal не используется вовсе - его роль берет на себя файл .db-wal. Большинство баз данных современных приложений перешли на режим WAL для улучшения параллельного чтения.

Безопасность и защита

РИСК: LOW

Не является исполняемым; содержит бинарные данные для восстановления после сбоев. Удаление -journal во время записи в базу данных приведет к ее повреждению - это основной операционный риск. Журналы, оставшиеся после сбоев, можно безопасно оставлять до тех пор, пока SQLite не восстановит их автоматически. Файл -journal может содержать конфиденциальные незафиксированные данные из прерванной транзакции (частичные записи сообщений, учетные данные и т. д.); относитесь к нему с той же степенью конфиденциальности, что и к основной базе данных. Не открывайте и не распространяйте -journal отдельно от родительской базы данных.

Детали формата

в двух словах
ПОЛНОЕ НАЗВАНИЕSQLite Rollback Journalтакже известен как SQLite journal, rollback journal
РАЗРАБОТЧИКD. Richard Hipp / SQLite Development Team (public domain)с SQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
MIME-ТИПapplication/octet-stream
ТИПБинарный (или текстовая заглушка «hot journal») временный вспомогательный журнал транзакций для базы данных SQLite 3
СТАНДАРТОткрытый · без роялти
СВЯЗАННЫЕ.db.dbf.accdb.sql
MAGIC BYTES · СИГНАТУРА ФАЙЛА
СМЕЩЕНИЕ
0001020304050607
HEX
D9D505F920A163D7
ASCII
···· ·c·
Горячий (постоянный) журнал отката начинается с 8-байтового магического числа 0xD9D505F9 20A163D7. Временный/транзитный журнал может начинаться с обнуленного заголовка или текстовой заглушки «hot journal» (просто строка «-journal») в зависимости от версии SQLite и ОС. Имя файла всегда представляет собой путь к основной базе данных с добавлением «-journal» (например, mydata.db-journal).

Программы, открывающие файлы DB-JOURNAL

Windows3 apps
DB Browser for SQLite Открытый код Откройте ОСНОВНУЮ базу данных (файл .db/.sqlite) - SQLite обработает -journal автоматически. Не открывайте -journal напрямую.
SQLite (sqlite3 CLI) Открытый код Запустите «sqlite3 mydata.db»; если существует горячий журнал, SQLite автоматически откатит его при подключении, а затем удалит журнал.
Notepad++ (text editor - inspection only) Открытый код Может отображать бинарное содержимое журнала для технического анализа; 8-байтовый магический заголовок виден со смещения 0. Не редактируйте.
macOS2 apps
DB Browser for SQLite Открытый код Откройте ОСНОВНУЮ базу данных (файл .db/.sqlite) - SQLite обработает -journal автоматически. Не открывайте -journal напрямую.
SQLite (sqlite3 CLI) Открытый код Запустите «sqlite3 mydata.db»; если существует горячий журнал, SQLite автоматически откатит его при подключении, а затем удалит журнал.
Linux2 apps
SQLite (sqlite3 CLI) Открытый код Запустите «sqlite3 mydata.db»; если существует горячий журнал, SQLite автоматически откатит его при подключении, а затем удалит журнал.
DB Browser for SQLite Открытый код Откройте ОСНОВНУЮ базу данных (файл .db/.sqlite) - SQLite обработает -journal автоматически. Не открывайте -journal напрямую.

Технические подробности

глубокая спецификация
Тип форматаДвоичный временный журнал отката транзакций (вспомогательный файл SQLite)
Магические байты8-байтовый заголовок: 0xD9 0xD5 0x05 0xF9 0x20 0xA1 0x63 0xD7 (горячий/постоянный журнал)
Порядок байтовBig-endian (поля заголовка журнала хранятся в сетевом порядке байтов)
Размер заголовка журнала28 байт (поля количества страниц, случайного числа nonce, размера сектора, размера страницы)
КодировкаБинарная - хранит дословные образы страниц базы данных SQLite 3, скопированные до модификации
Контрольная сумма страницыДва 32-битных целых числа, вычисляемых на основе nonce и данных страницы; несоответствие сигнализирует об устаревшем или неполном журнале
Типичный размер файлаОт 0 байт до сотен МБ в зависимости от того, сколько страниц затронула прерванная транзакция
Режим журналаИспользуется только в режиме журнала DELETE (по умолчанию в SQLite); не создается в режиме WAL
Соглашение об именованииПуть к основной базе данных с добавлением -journal (например, mydata.db → mydata.db-journal)
Механизм восстановленияSQLite обнаруживает горячий журнал при открытии соединения, воспроизводит образы страниц для восстановления состояния до транзакции, затем удаляет журнал
Замена на WALРежим WAL (.db-wal + .db-shm), представленный в SQLite 3.7.0 (июль 2010 г.), предпочтителен для параллельных нагрузок и не использует файл .db-journal
ВыпущенSQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
Последняя версияSQLite 3.x current - format unchanged since early SQLite 3; superseded in practice by WAL (-wal)
Открыть стандартноеДа · без роялти
Спецификацияwww.sqlite.org

Конвертации DB-JOURNAL

Вопросы и ответы сообщества

спрошено пользователями
Задать быстрый вопрос
Получите помощь от людей, работающих с файлами DB-JOURNAL. Будьте конкретны - укажите вашу систему и версию ПО.
Аккаунт не нужен · ответы обычно в течение дня

Вопросов пока нет - станьте первым, кто спросит о файлах DB-JOURNAL.

Часто задаваемые вопросы

Что такое файл .db-journal?
Это журнал отката SQLite - временный бинарный файл, который SQLite создает во время транзакции записи для хранения исходного содержимого страниц до внесения изменений. Он автоматически удаляется при COMMIT. Если он остается после сбоя приложения, SQLite использует его для отката незавершенной транзакции при следующем открытии базы данных.
Можно ли удалить файл .db-journal?
Только если родительское приложение не запущено И база данных не находится в процессе транзакции. Если приложение аварийно завершилось и оставило файл -journal, оставьте его - SQLite автоматически обработает и удалит его при следующем открытии. Если приложение запущено и вы удалите -journal, вы можете повредить базу данных.
Как открыть или прочитать файл .db-journal?
Вы не открываете его напрямую. Откройте родительскую базу данных (файл .db/.sqlite) в DB Browser for SQLite или через CLI sqlite3; SQLite обработает журнал автоматически. Если вам нужен криминалистический анализ, Notepad++ может отобразить бинарное содержимое.
Моя база данных повреждена - там есть файл -journal. Что мне делать?
Откройте ОСНОВНУЮ базу данных любым инструментом SQLite (DB Browser for SQLite, sqlite3 CLI), сохраняя файл -journal в той же папке. SQLite обнаружит горячий журнал, откатит незавершенную транзакцию и удалит журнал. Обычно это восстанавливает базу данных.
В чем разница между .db-journal и .db-wal?
Оба являются журналами транзакций SQLite. -journal (журнал отката) - это оригинальный механизм (по умолчанию в SQLite): он хранит копии страниц ДО изменений и удаляется при фиксации. -wal (Write-Ahead Log) - более новый механизм (SQLite 3.7.0, 2010 г.): он хранит копии страниц ПОСЛЕ изменений и объединяется с основной базой при контрольной точке. WAL быстрее для одновременного чтения, но требует наличия файлов -wal и -shm.
Является ли .db-journal особенностью только Android?
Нет - он появляется на любой платформе, где работает SQLite в режиме журнала DELETE по умолчанию. Приложения Android, iOS, настольные программы и браузеры используют SQLite и могут создавать файлы -journal.
Почему у меня есть .db-journal, если приложение не вылетало?
Иногда приложения не закрывают базу данных чисто (например, принудительная остановка, завершение процесса ОС). Эффект от такого -journal идентичен журналу после сбоя; SQLite откатит его при следующем открытии.

Ссылки

1SQLite - Temporary Files Used By SQLitewww.sqlite.org
2SQLite - Atomic Commit in SQLitewww.sqlite.org

Узнать больше

по всей базе данных

Популярные расширения на этой неделе

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.EXEWindows Executable (Portable Executable)
5.BINCD/DVD Disc Image (BIN/CUE)
6.DATProgram Data File (generic)
7.RPMSGRestricted Permission Message
8.MDMarkdown Document
9.TXTPlain Text File
10.NOMEDIAAndroid No-Media Marker File

Похожие расширения

.DBSQLite Database File
.DBFDatabase File (dBASE / xBase table)
.ACCDBMicrosoft Access Database (2007+)
.SQLSQL Script (Structured Query Language source / database dump)
.MDBMicrosoft Access Database (97-2003, Jet engine)
.FDBFirebird Database

Бесплатные инструменты для файлов

Идентификатор файлов и конвертер изображений в браузере - все работает на вашем устройстве.

Открыть инструменты

Обзор расширений файлов A-Z