.DB-WAL

Fichier DB-WAL

SQLite Write-Ahead Log
Poser une question
RÉPONSE RAPIDE

Un fichier .db-wal est un journal de réécriture SQLite (Write-Ahead Log) - un fichier auxiliaire temporaire qui contient les derniers changements validés pour une base de données SQLite avant qu'ils ne soient réécrits dans le fichier .db principal. Pour le lire, ouvrez la base de données principale dans DB Browser for SQLite en gardant le .db-wal dans le même dossier ; SQLite les lit automatiquement ensemble. Le principal risque est la suppression : retirer un .db-wal alors que la base de données est en cours d'utilisation, ou après un plantage, entraîne la perte des données récentes.

Développeur : D. Richard Hipp / SQLite Development Team (public domain) Catégorie : Fichiers de base de données Standard ouvert MIME: application/octet-stream
S'OUVRE SUR Windows macOS Linux
Lié : .DB · .DBF · .ACCDB · .SQL

Sur cette page

19k+ extensions indexées
Dernière révision le Jul 25, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier DB-WAL ?

Les fichiers .db-wal sont utilisés par le moteur de base de données SQLite (depuis la version 3.7.0, publiée en juillet 2010) en mode de journalisation WAL (Write-Ahead Logging).

Contenu des fichiers DB-WAL

Les fichiers avec l'extension .db-wal contiennent des données de journalisation pour une base de données SQLite associée. Ces fichiers sont créés et utilisés lorsqu'une base de données est ouverte et activement modifiée. Un fichier .db-wal stocke les modifications validées de la base de données - des pages complètes de la base - qui n'ont pas encore été réécrites (« checkpointed ») dans le fichier .db principal. Cette approche de réécriture est plus rapide que la modification directe des pages de la base de données sur place et garantit la durabilité : en cas de coupure de courant soudaine ou de plantage du système, SQLite peut rejouer le WAL pour récupérer toutes les transactions validées.

Chaque fichier .db-wal commence par un en-tête de 32 octets contenant un nombre magique de 4 octets (0x377f0682 pour les sommes de contrôle en petit-boutiste/little-endian, 0x377f0683 pour le gros-boutiste/big-endian), des valeurs de sel (« salt ») et une somme de contrôle cumulative. Le corps est constitué de trames : un en-tête de trame de 24 octets plus une page complète de base de données par trame. Les valeurs de sel dans l'en-tête invalident les trames obsolètes après un point de contrôle, empêchant les relectures accidentelles.

Utilisation des fichiers DB-WAL

La gestion du journal .db-wal est entièrement automatisée par le moteur SQLite. Un fichier compagnon .db-shm (index de mémoire partagée) est toujours présent aux côtés du WAL tant que la base de données est ouverte. Le fichier .db-wal disparaît automatiquement une fois que toutes les modifications ont été intégrées - le seuil par défaut de wal_autocheckpoint est de 1000 pages. Le mécanisme WAL sous-jacent est largement utilisé sur les appareils mobiles ; les bases de données des applications Android et iOS fonctionnent fréquemment en mode WAL pour améliorer la concurrence et les performances d'écriture.

Sécurité et sûreté

RISQUE : LOW

Un fichier .db-wal contient des données inertes, pas du code exécutable, il ne peut donc pas s'exécuter seul. Les risques réels sont opérationnels et non liés à des logiciels malveillants : (1) supprimer ou perdre le -wal alors que la base est ouverte, ou après un plantage, rejette les transactions validées les plus récentes - sauvegardez le -db, le -wal et le -shm ensemble ; (2) le WAL d'une base de données d'application peut contenir des données sensibles non encore intégrées (messages, jetons, historique), traitez-le donc comme confidentiel. Si la base de données parente est chiffrée (SQLCipher/SEE), le -wal l'est aussi.

Détails du format

en bref
NOM COMPLETSQLite Write-Ahead Logalias WAL file, SQLite WAL
DÉVELOPPEURD. Richard Hipp / SQLite Development Team (public domain)depuis SQLite 3.7.0, July 2010 (WAL journaling mode)
TYPE MIMEapplication/octet-stream
TYPEFichier auxiliaire de journalisation binaire pour une base de données SQLite 3 (journal de transactions)
STANDARDOuvert · libre de droits
OCTETS MAGIQUES · SIGNATURE DE FICHIER
OFFSET
00010203
HEX
377F0682
ASCII
7···
L'en-tête WAL de 32 octets commence par un nombre magique de 4 octets : 0x377f0682 si le fichier utilise des sommes de contrôle natives little-endian, 0x377f0683 pour big-endian. Ce n'est PAS l'en-tête « SQLite format 3 » de la base de données principale - le fichier -wal est un journal séparé, pas une base de données. Le nom de fichier est toujours le nom de la base de données avec « -wal » ajouté (ex: mydata.db-wal).

Programmes qui ouvrent les fichiers DB-WAL

Windows2 apps
DB Browser for SQLite Open-source Utilisez « Write Changes » / « Checkpoint » pour que le -wal soit fusionné avant de copier ou de sauvegarder la base de données.
SQLite (sqlite3 CLI) Open-source Exécutez « sqlite3 mydata.db » avec le -wal à côté ; un point de contrôle (« PRAGMA wal_checkpoint(TRUNCATE); ») intègre le journal dans la base de données principale.
macOS2 apps
DB Browser for SQLite Open-source Utilisez « Write Changes » / « Checkpoint » pour que le -wal soit fusionné avant de copier ou de sauvegarder la base de données.
SQLite (sqlite3 CLI) Open-source Exécutez « sqlite3 mydata.db » avec le -wal à côté ; un point de contrôle (« PRAGMA wal_checkpoint(TRUNCATE); ») intègre le journal dans la base de données principale.
Linux2 apps
SQLite (sqlite3 CLI) Open-source Exécutez « sqlite3 mydata.db » avec le -wal à côté ; un point de contrôle (« PRAGMA wal_checkpoint(TRUNCATE); ») intègre le journal dans la base de données principale.
DB Browser for SQLite Open-source Utilisez « Write Changes » / « Checkpoint » pour que le -wal soit fusionné avant de copier ou de sauvegarder la base de données.

Détails techniques

spécifications approfondies
Octets magiques0x377f0682 à l'offset 0 (sommes de contrôle little-endian) ou 0x377f0683 (big-endian)
Taille de l'en-tête32 octets contenant le nombre magique, la version du format, la taille de page, la séquence de point de contrôle, la paire de sel et la somme de contrôle
Structure de trameEn-tête de trame de 24 octets + une page de base de données complète par trame
Taille de pageCorrespond à la taille de page de la base de données SQLite parente (généralement 4096 octets)
Somme de contrôleSomme de contrôle cumulative de 8 octets (deux mots de 32 bits) dans chaque en-tête de trame et dans l'en-tête WAL
Invalidation par selDeux valeurs de sel de 32 bits sont randomisées après chaque point de contrôle, invalidant toutes les trames obsolètes
Fichier compagnonToujours jumelé à un fichier .db-shm (index de mémoire partagée) tant que la base de données est ouverte
Convention de nommageNom de fichier de la base de données avec -wal ajouté (ex: mydata.db-wal)
ActivationCréé uniquement lorsque la base de données est configurée en mode WAL (PRAGMA journal_mode=WAL)
Point de contrôle automatiqueLe wal_autocheckpoint par défaut à 1000 pages limite la croissance maximale du WAL avant l'intégration
Champ de version du formatL'en-tête WAL encode la version de la bibliothèque SQLite sous la forme 3007000 (SQLite 3.7.0, juillet 2010)
ChiffrementAucun par défaut ; chiffré lorsque la base de données utilise l'extension SEE ou SQLCipher
PubliéSQLite 3.7.0, July 2010 (WAL journaling mode)
Dernière versionWAL file format magic 0x377f0682 (little-endian) / 0x377f0683 (big-endian)
Standard ouvertOui · libre de droits
Spécificationwww.sqlite.org

Conversions DB-WAL

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers DB-WAL. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers DB-WAL.

Foire aux questions

Qu'est-ce qu'un fichier .db-wal et puis-je le supprimer ?
C'est un journal de réécriture SQLite contenant les derniers changements validés de la base de données. Si la base de données est fermée proprement, le -wal a été intégré et sa suppression est sûre ; si une application utilise la base ou si elle a planté, supprimer le -wal peut faire perdre des données récentes. En cas de doute, laissez-le.
Comment ouvrir un fichier .db-wal ?
Vous ne l'ouvrez pas seul - ouvrez la base de données principale (le .db/.sqlite à côté) dans DB Browser for SQLite ou avec l'outil sqlite3, en gardant le -wal dans le même dossier. SQLite lit le journal automatiquement et affiche les données actuelles.
Pourquoi les données les plus récentes manquent-elles après avoir copié une base de données SQLite ?
Vous n'avez probablement copié que le .db et non le -wal (et le -shm). Les derniers changements validés résident dans le -wal jusqu'à un point de contrôle. Copiez les trois fichiers ensemble, ou effectuez un point de contrôle (« checkpoint ») d'abord pour que tout soit dans le seul .db.
Quelle est la différence entre .db-wal et .db-shm ?
Le -wal est le journal de réécriture effectif des pages modifiées. Le -shm est un petit index en mémoire partagée qui aide les connexions multiples à trouver la dernière version de chaque page dans le -wal. Les deux sont des fichiers auxiliaires temporaires de la base de données principale.
Le fichier .db-wal est-il réservé à Android ?
Non. Le nom de la base de données dans notre catalogue mentionne Android car de nombreuses applications Android utilisent SQLite, mais le WAL est une fonctionnalité générique de SQLite utilisée aussi sur iOS, Windows, macOS et Linux - les navigateurs, Mail, Photos et d'innombrables applications créent des fichiers -wal.
Comment fusionner un .db-wal dans la base de données ?
Ouvrez la base de données et exécutez « PRAGMA wal_checkpoint(TRUNCATE); » dans le shell sqlite3 ou DB Browser, ou fermez simplement la base de données proprement. SQLite écrit les pages journalisées dans le fichier principal et vide le -wal.

Références

1SQLite - Write-Ahead Logging (WAL)www.sqlite.org
2SQLite - WAL File Formatwww.sqlite.org

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

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

Extensions liées

.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

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z