.DB-JOURNAL

File DB-JOURNAL

SQLite Rollback Journal
Fai una domanda
RISPOSTA RAPIDA

Un file .db-journal è un SQLite Rollback Journal - un file sidecar temporaneo per il ripristino post-crash che SQLite crea accanto a un database durante una transazione di scrittura e cancella nel momento in cui tale transazione viene confermata. Lo si vede solo quando un'app si è bloccata a metà transazione lasciandolo indietro. Non cancellarlo mentre un'app è in esecuzione. Per il ripristino, apri il file .db principale in DB Browser for SQLite; SQLite legge il journal, annulla automaticamente la transazione incompleta e rimuove il file.

Sviluppatore: D. Richard Hipp / SQLite Development Team (public domain) Categoria: File di database Standard aperto MIME: application/octet-stream
SI APRE SU Windows macOS Linux
Correlati: .DB · .DBF · .ACCDB · .SQL

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jul 11, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file DB-JOURNAL?

I file con l'estensione .db-journal contengono le immagini delle pagine necessarie per il ripristino di un database SQLite in caso di fallimento di una transazione. Si tratta di file temporanei creati da SQLite nella stessa directory in cui è memorizzato il database. Non dovrebbero essere visibili al termine della transazione, poiché SQLite li cancella automaticamente al COMMIT o al ROLLBACK.

Grazie ai file journal di rollback delle transazioni con l'estensione .db-journal, è possibile garantire l'atomicità delle transazioni nel database. Un'applicazione che opera sui dati del database e che si blocca a metà transazione non lascerà operazioni incomplete - queste verranno riportate allo stato precedente all'inizio della transazione. Un file .db-journal è presente sul disco:

  • durante l'esecuzione di una transazione di scrittura (modalità journal DELETE, l'impostazione predefinita di SQLite),
  • quando una transazione è stata interrotta da un crash - fino a quando la connessione successiva non apre il database,
  • quando il database è in modalità di blocco esclusivo (PRAGMA locking_mode=EXCLUSIVE) - finché non viene disattivata.

SQLite può utilizzare diversi file sidecar temporanei per garantire la coerenza e la sicurezza delle operazioni del database. .db-journal è il classico journal di rollback; .db-wal e .db-shm svolgono il ruolo equivalente nella più recente modalità WAL (Write-Ahead Log).

Nomenclatura dei file .db-journal

Il file journal viene nominato aggiungendo -journal al nome completo del file del database. Ad esempio, se il database è salvato come baza.db, il file temporaneo si chiamerà baza.db-journal e sarà memorizzato nella stessa directory. I file temporanei non sono normalmente visibili agli utenti. In caso di crash o interruzione di corrente, il journal rimane nella directory fino alla successiva apertura del database - SQLite rileva quindi il «hot journal», riproduce le immagini delle pagine salvate per ripristinare lo stato precedente alla transazione e cancella automaticamente il journal.

Non si dovrebbe mai eliminare un file .db-journal mentre è in corso una transazione di scrittura, poiché ciò corromperebbe il database. Un file .db-journal persistente dopo una chiusura pulita indica quasi sempre un crash precedente; SQLite gestisce il ripristino in modo sicuro alla successiva apertura. Nella modalità WAL (PRAGMA journal_mode=WAL), introdotta in SQLite 3.7.0 (luglio 2010), il file .db-journal non viene utilizzato affatto - un file .db-wal ne prende il posto. La maggior parte dei database delle applicazioni moderne è passata alla modalità WAL per una migliore concorrenza di lettura.

Sicurezza e incolumità

RISCHIO: LOW

Non eseguibile; dati binari per il ripristino post-crash. L'eliminazione di un -journal mentre il database è in fase di scrittura corromperà il database - il principale rischio operativo. I journal residui dai crash possono essere lasciati in sicurezza finché SQLite non li ripristina automaticamente. Un -journal può contenere dati sensibili non confermati della transazione interrotta (scritture parziali di messaggi, credenziali, ecc.); trattare con la stessa riservatezza del database principale. Non aprire o distribuire un -journal isolatamente senza il database principale.

Dettagli del formato

in sintesi
NOME COMPLETOSQLite Rollback Journalanche noto come SQLite journal, rollback journal
SVILUPPATORED. Richard Hipp / SQLite Development Team (public domain)dal SQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
TIPO MIMEapplication/octet-stream
TIPOSidecar journal delle transazioni temporaneo binario (o stub «hot journal» in testo semplice) per un database SQLite 3
STANDARDAperto · royalty-free
MAGIC BYTES · FIRMA DEL FILE
OFFSET
0001020304050607
HEX
D9D505F920A163D7
ASCII
···· ·c·
Un rollback journal hot (persistente) inizia con il numero magico di 8 byte 0xD9D505F9 20A163D7. Un journal temporaneo/transitorio può iniziare con un header azzerato o uno stub in testo semplice «hot journal» (solo la stringa «-journal») a seconda della versione di SQLite e del sistema operativo. Il nome del file è sempre il percorso del database principale con «-journal» aggiunto (es. mydata.db-journal).

Programmi che aprono file DB-JOURNAL

Windows3 apps
DB Browser for SQLite Open-source Apri il database PRINCIPALE (il file .db/.sqlite) - SQLite gestisce automaticamente il -journal. Non aprire direttamente il -journal.
SQLite (sqlite3 CLI) Open-source Esegui «sqlite3 mydata.db»; se esiste un hot journal, SQLite esegue automaticamente il rollback alla connessione, quindi rimuove il journal.
Notepad++ (text editor - inspection only) Open-source Può visualizzare il contenuto binario del journal per ispezione forense; l'header magic di 8 byte è visibile all'offset 0. Non modificare.
macOS2 apps
DB Browser for SQLite Open-source Apri il database PRINCIPALE (il file .db/.sqlite) - SQLite gestisce automaticamente il -journal. Non aprire direttamente il -journal.
SQLite (sqlite3 CLI) Open-source Esegui «sqlite3 mydata.db»; se esiste un hot journal, SQLite esegue automaticamente il rollback alla connessione, quindi rimuove il journal.
Linux2 apps
SQLite (sqlite3 CLI) Open-source Esegui «sqlite3 mydata.db»; se esiste un hot journal, SQLite esegue automaticamente il rollback alla connessione, quindi rimuove il journal.
DB Browser for SQLite Open-source Apri il database PRINCIPALE (il file .db/.sqlite) - SQLite gestisce automaticamente il -journal. Non aprire direttamente il -journal.

Dettagli tecnici

specifiche approfondite
Tipo di formatoJournal di rollback delle transazioni temporaneo binario (file sidecar SQLite)
Magic bytesHeader di 8 byte: 0xD9 0xD5 0x05 0xF9 0x20 0xA1 0x63 0xD7 (hot/persistent journal)
Ordine dei byteBig-endian (campi dell'header del journal memorizzati in network byte order)
Dimensione header journal28 byte (campi per conteggio pagine, nonce casuale, dimensione settore, dimensione pagina)
CodificaBinaria - memorizza immagini testuali delle pagine del database SQLite 3 copiate prima della modifica
Checksum per paginaDue interi a 32 bit calcolati dal nonce e dai dati della pagina; una mancata corrispondenza segnala un journal obsoleto o incompleto
Dimensione tipica del fileDa 0 byte a centinaia di MB a seconda di quante pagine ha toccato la transazione interrotta
Modalità journalUtilizzato solo nella modalità journal DELETE (predefinita di SQLite); non creato in modalità WAL
Convenzione di denominazionePercorso del database principale con -journal aggiunto (es. mydata.db → mydata.db-journal)
Meccanismo di ripristinoSQLite rileva un hot journal all'apertura della connessione, riproduce le immagini delle pagine per ripristinare lo stato pre-transazione, quindi elimina il journal
Sostituzione WALLa modalità WAL (.db-wal + .db-shm), introdotta in SQLite 3.7.0 (luglio 2010), è preferita per carichi di lavoro concorrenti e non utilizza il file .db-journal
RilasciatoSQLite 1.0, 2000 (rollback journal is the original journaling mechanism)
Ultima versioneSQLite 3.x current - format unchanged since early SQLite 3; superseded in practice by WAL (-wal)
Standard aperto · royalty-free
Specificawww.sqlite.org

Conversioni DB-JOURNAL

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file DB-JOURNAL. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file DB-JOURNAL.

Domande frequenti

Cos'è un file .db-journal?
Un SQLite Rollback Journal - un file binario temporaneo che SQLite crea durante una transazione di scrittura per memorizzare il contenuto originale della pagina prima delle modifiche. Viene cancellato automaticamente al COMMIT. Se persiste dopo il crash di un'app, SQLite lo usa per annullare la transazione incompleta alla successiva apertura del database.
Posso eliminare un file .db-journal?
Solo se l'app principale non è in esecuzione E il database non è nel bel mezzo di una transazione. Se un'app si è bloccata e ha lasciato un -journal, lascialo lì - SQLite lo riprodurrà e lo cancellerà automaticamente alla prossima apertura. Se l'app è in esecuzione e cancelli il -journal, potresti corrompere il database.
Come posso aprire o leggere un file .db-journal?
Non si apre direttamente. Apri il database principale (il file .db/.sqlite) in DB Browser for SQLite o con la CLI sqlite3; SQLite gestisce il journal automaticamente. Se hai bisogno di un'ispezione forense, Notepad++ può visualizzare il contenuto binario.
Il mio database è corrotto - c'è un file -journal. Cosa devo fare?
Apri il database PRINCIPALE con qualsiasi strumento SQLite (DB Browser for SQLite, sqlite3 CLI) mantenendo il -journal nella stessa cartella. SQLite rileverà il hot journal, annullerà la transazione incompleta e cancellerà il journal. Questo di solito ripristina il database.
Qual è la differenza tra .db-journal e .db-wal?
Entrambi sono journal delle transazioni di SQLite. Il -journal (rollback journal) è il meccanismo originale (predefinito di SQLite): memorizza le copie delle pagine PRIMA delle modifiche e viene eliminato al commit. Il -wal (Write-Ahead Log) è più recente (SQLite 3.7.0, 2010): memorizza le copie delle pagine DOPO le modifiche e viene unito nuovamente al checkpoint. WAL è più veloce per le letture concorrenti ma richiede entrambi i sidecar -wal e -shm.
Il file .db-journal è una cosa solo per Android?
No - appare su qualsiasi piattaforma che esegua SQLite nella modalità journal predefinita DELETE. Le app Android, le app iOS, i programmi desktop e i browser utilizzano tutti SQLite e possono produrre file -journal.
Perché ho un .db-journal se l'app non è mai andata in crash?
A volte le app non chiudono il database in modo pulito (ad esempio, arresto forzato, chiusura da parte del sistema operativo). Il -journal ha lo stesso effetto di un journal post-crash; SQLite esegue il rollback alla successiva apertura.

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

1.AQQAQQ Instant Messenger File
2.MDMarkdown Document
3.BINCD/DVD Disc Image (BIN/CUE)
4.RPMSGRestricted Permission Message
5.PARTPartial Download File
6.CRDOWNLOADChrome Partial Download File
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

Estensioni correlate

.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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z