.DB-JOURNAL

Plik DB-JOURNAL

SQLite Rollback Journal
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik .db-journal to dziennik wycofywania SQLite (Rollback Journal) - tymczasowy plik pomocniczy służący do odzyskiwania danych po awarii, który SQLite tworzy obok bazy danych podczas transakcji zapisu i usuwa w momencie jej zatwierdzenia. Jest on widoczny tylko wtedy, gdy aplikacja uległa awarii w trakcie transakcji i pozostawiła go po sobie. Nie należy go usuwać, gdy jakakolwiek aplikacja jest uruchomiona. Aby odzyskać dane, otwórz główny plik .db w programie DB Browser for SQLite; SQLite odczyta dziennik, automatycznie wycofa niekompletną transakcję i usunie plik.

Deweloper: D. Richard Hipp / SQLite Development Team (public domain) Kategoria: Pliki baz danych Otwarty standard MIME: application/octet-stream
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .DB · .DBF · .ACCDB · .SQL

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Jul 11, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku DB-JOURNAL?

Pliki z rozszerzeniem .db-journal zawierają obrazy stron niezbędne do odzyskania bazy danych SQLite w przypadku niepowodzenia transakcji. Są to pliki tymczasowe tworzone przez SQLite w tym samym katalogu, w którym przechowywana jest baza danych. Nie powinny być widoczne po zakończeniu transakcji, ponieważ SQLite usuwa je automatycznie przy operacji COMMIT lub ROLLBACK.

Dzięki plikom dziennika wycofywania transakcji z rozszerzeniem .db-journal możliwe jest zapewnienie atomowości transakcji w bazie danych. Aplikacja operująca na danych bazy, która ulegnie awarii w trakcie transakcji, nie pozostawi operacji nieukończonych - zostaną one przywrócone do stanu sprzed rozpoczęcia transakcji. Plik .db-journal jest obecny na dysku:

  • podczas wykonywania transakcji zapisu (tryb dziennika DELETE, domyślny dla SQLite),
  • gdy transakcja została przerwana przez awarię - do czasu następnego otwarcia bazy danych,
  • gdy baza danych znajduje się w trybie blokowania wyłącznego (PRAGMA locking_mode=EXCLUSIVE) - do momentu jego wyłączenia.

SQLite może używać kilku różnych tymczasowych plików pomocniczych w celu zapewnienia spójności i bezpieczeństwa operacji na bazie danych. .db-journal to klasyczny dziennik wycofywania; .db-wal i .db-shm pełnią równoważną rolę w nowszym trybie WAL (Write-Ahead Log).

Nazewnictwo plików .db-journal

Nazwa pliku dziennika jest tworzona poprzez dodanie przyrostka -journal do pełnej nazwy pliku bazy danych. Na przykład, jeśli baza danych jest zapisana jako baza.db, plik tymczasowy otrzyma nazwę baza.db-journal i zostanie zapisany w tym samym katalogu. Pliki tymczasowe nie są normalnie widoczne dla użytkowników. W przypadku awarii lub braku zasilania dziennik pozostaje w katalogu do czasu ponownego otwarcia bazy danych - SQLite wykrywa wtedy „gorący dziennik” (hot journal), odtwarza zapisane obrazy stron, aby przywrócić stan sprzed transakcji, i automatycznie usuwa dziennik.

Nigdy nie należy usuwać pliku .db-journal, gdy trwa transakcja zapisu, ponieważ spowoduje to uszkodzenie bazy danych. Trwały plik .db-journal po poprawnym zamknięciu aplikacji prawie zawsze wskazuje na wcześniejszą awarię; SQLite bezpiecznie obsłuży odzyskiwanie przy następnym otwarciu. W trybie WAL (PRAGMA journal_mode=WAL), wprowadzonym w SQLite 3.7.0 (lipiec 2010), plik .db-journal nie jest w ogóle używany - jego rolę przejmuje plik .db-wal. Większość nowoczesnych baz danych w aplikacjach przeszła na tryb WAL w celu poprawy współbieżności odczytu.

Bezpieczeństwo

RYZYKO: LOW

Nie jest plikiem wykonywalnym; zawiera binarne dane odzyskiwania po awarii. Usunięcie pliku -journal podczas zapisu do bazy danych spowoduje jej uszkodzenie - jest to główne ryzyko operacyjne. Pozostałości dzienników po awariach można bezpiecznie zostawić do czasu automatycznego odzyskania przez SQLite. Plik -journal może zawierać wrażliwe, niezatwierdzone dane z przerwanej transakcji (częściowe zapisy wiadomości, poświadczeń itp.); należy go traktować z taką samą poufnością jak główną bazę danych. Nie należy otwierać ani udostępniać pliku -journal w izolacji bez nadrzędnej bazy danych.

Szczegóły formatu

w pigułce
PEŁNA NAZWASQLite Rollback Journalznany również jako SQLite journal, rollback journal
DEWELOPERD. Richard Hipp / SQLite Development Team (public domain)od SQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
TYP MIMEapplication/octet-stream
TYPBinarny (lub tekstowy „hot journal stub”) tymczasowy plik pomocniczy dziennika transakcji dla bazy danych SQLite 3
STANDARDOtwarty · bezpłatny
MAGICZNE BAJTY · SYGNATURA PLIKU
OFFSET
0001020304050607
HEX
D9D505F920A163D7
ASCII
···· ·c·
Gorący (trwały) dziennik wycofywania zaczyna się od 8-bajtowej liczby magicznej 0xD9D505F9 20A163D7. Tymczasowy dziennik może zaczynać się od wyzerowanego nagłówka lub tekstowego fragmentu „hot journal” (po prostu ciąg „-journal”), zależnie od wersji SQLite i systemu operacyjnego. Nazwa pliku to zawsze ścieżka głównej bazy danych z dodanym „-journal” (np. moja_baza.db-journal).

Programy otwierające pliki DB-JOURNAL

Windows3 apps
DB Browser for SQLite Open-source Otwórz GŁÓWNĄ bazę danych (plik .db/.sqlite) - SQLite automatycznie obsłuży plik -journal. Nie otwieraj pliku -journal bezpośrednio.
SQLite (sqlite3 CLI) Open-source Uruchom „sqlite3 moja_baza.db”; jeśli istnieje gorący dziennik, SQLite automatycznie go wycofa przy połączeniu, a następnie usunie plik dziennika.
Notepad++ (text editor - inspection only) Open-source Może wyświetlać binarną zawartość dziennika do celów inspekcji; 8-bajtowy nagłówek magiczny jest widoczny pod offsetem 0. Nie edytuj pliku.
macOS2 apps
DB Browser for SQLite Open-source Otwórz GŁÓWNĄ bazę danych (plik .db/.sqlite) - SQLite automatycznie obsłuży plik -journal. Nie otwieraj pliku -journal bezpośrednio.
SQLite (sqlite3 CLI) Open-source Uruchom „sqlite3 moja_baza.db”; jeśli istnieje gorący dziennik, SQLite automatycznie go wycofa przy połączeniu, a następnie usunie plik dziennika.
Linux2 apps
SQLite (sqlite3 CLI) Open-source Uruchom „sqlite3 moja_baza.db”; jeśli istnieje gorący dziennik, SQLite automatycznie go wycofa przy połączeniu, a następnie usunie plik dziennika.
DB Browser for SQLite Open-source Otwórz GŁÓWNĄ bazę danych (plik .db/.sqlite) - SQLite automatycznie obsłuży plik -journal. Nie otwieraj pliku -journal bezpośrednio.

Szczegóły techniczne

specyfikacja
Typ formatuBinarny tymczasowy dziennik wycofywania transakcji (plik pomocniczy SQLite)
Magiczne bajty8-bajtowy nagłówek: 0xD9 0xD5 0x05 0xF9 0x20 0xA1 0x63 0xD7 (gorący/trwały dziennik)
Kolejność bajtówBig-endian (pola nagłówka dziennika przechowywane w sieciowej kolejności bajtów)
Rozmiar nagłówka dziennika28 bajtów (pola liczby stron, losowej wartości nonce, rozmiaru sektora i rozmiaru strony)
KodowanieBinarne - przechowuje dosłowne obrazy stron bazy danych SQLite 3 skopiowane przed modyfikacją
Suma kontrolna stronyDwie 32-bitowe liczby całkowite obliczone z nonce i danych strony; niezgodność sygnalizuje nieaktualny lub niekompletny dziennik
Typowy rozmiar plikuOd 0 bajtów do setek MB, zależnie od liczby stron, których dotyczyła przerwana transakcja
Tryb dziennikaUżywany tylko w trybie DELETE (domyślny dla SQLite); nie jest tworzony w trybie WAL
Konwencja nazewnictwaŚcieżka głównej bazy danych z dodanym przyrostkiem -journal (np. dane.db → dane.db-journal)
Mechanizm odzyskiwaniaSQLite wykrywa gorący dziennik przy otwieraniu połączenia, odtwarza obrazy stron w celu przywrócenia stanu sprzed transakcji, a następnie usuwa dziennik
Zastąpienie przez WALTryb WAL (.db-wal + .db-shm), wprowadzony w SQLite 3.7.0 (lipiec 2010), jest preferowany dla obciążeń współbieżnych i nie korzysta z pliku .db-journal
WydanoSQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
Najnowsza wersjaSQLite 3.x current - format unchanged since early SQLite 3; superseded in practice by WAL (-wal)
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjawww.sqlite.org

Konwersje DB-JOURNAL

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami DB-JOURNAL. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki DB-JOURNAL.

Najczęściej zadawane pytania

Co to jest plik .db-journal?
To dziennik wycofywania SQLite (Rollback Journal) - tymczasowy plik binarny tworzony przez SQLite podczas transakcji zapisu w celu przechowywania oryginalnej zawartości stron przed wprowadzeniem zmian. Jest usuwany automatycznie przy COMMIT. Jeśli pozostaje po awarii aplikacji, SQLite używa go do wycofania niekompletnej transakcji przy następnym otwarciu bazy.
Czy mogę usunąć plik .db-journal?
Tylko jeśli powiązana aplikacja nie jest uruchomiona ORAZ baza danych nie jest w trakcie transakcji. Jeśli aplikacja uległa awarii i pozostawiła plik -journal, zostaw go - SQLite automatycznie go odtworzy i usunie przy następnym otwarciu. Jeśli aplikacja działa, a Ty usuniesz -journal, możesz uszkodzić bazę danych.
Jak otworzyć lub odczytać plik .db-journal?
Nie otwiera się go bezpośrednio. Otwórz nadrzędną bazę danych (plik .db/.sqlite) w programie DB Browser for SQLite lub za pomocą CLI sqlite3; SQLite obsłuży dziennik automatycznie. Jeśli potrzebujesz inspekcji informatycznej, Notepad++ może wyświetlić zawartość binarną.
Moja baza danych jest uszkodzona - widzę plik -journal. Co robić?
Otwórz GŁÓWNĄ bazę danych dowolnym narzędziem SQLite (DB Browser for SQLite, sqlite3 CLI), zachowując plik -journal w tym samym folderze. SQLite wykryje gorący dziennik, wycofa niekompletną transakcję i usunie dziennik. Zazwyczaj przywraca to bazę do sprawności.
Jaka jest różnica między .db-journal a .db-wal?
Oba są dziennikami transakcji SQLite. -journal (rollback journal) to oryginalny mechanizm (domyślny dla SQLite): przechowuje kopie stron PRZED zmianami i jest usuwany przy zatwierdzeniu. -wal (Write-Ahead Log) jest nowszy (SQLite 3.7.0, 2010): przechowuje kopie stron PO zmianach i jest scalany podczas punktu kontrolnego (checkpoint). WAL jest szybszy przy współbieżnych odczytach, ale wymaga plików pomocniczych -wal i -shm.
Czy .db-journal występuje tylko w systemie Android?
Nie - pojawia się na każdej platformie korzystającej z SQLite w domyślnym trybie dziennika DELETE. Aplikacje na Android, iOS, programy desktopowe i przeglądarki używają SQLite i mogą generować pliki -journal.
Dlaczego mam plik .db-journal, skoro aplikacja nigdy nie uległa awarii?
Czasami aplikacje nie zamykają bazy danych w sposób czysty (np. wymuszone zatrzymanie, zamknięcie przez system operacyjny). Plik -journal ma wtedy taki sam skutek jak dziennik po awarii; SQLite wycofuje go przy następnym otwarciu.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

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

Powiązane rozszerzenia

.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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z