.DB-WAL

DB-WAL-bestand

SQLite Write-Ahead Log
Stel een vraag
SNEL ANTWOORD

Een .db-wal bestand is een SQLite Write-Ahead Log - een tijdelijk hulpbestand dat de nieuwste doorgevoerde wijzigingen voor een SQLite-database bevat voordat ze worden teruggeschreven naar het hoofd .db bestand. Om het te lezen, opent u de hoofddatabase in DB Browser for SQLite en bewaart u de .db-wal in dezelfde map; SQLite leest ze automatisch samen. Het belangrijkste aandachtspunt is verwijdering: het verwijderen van een .db-wal terwijl de database in gebruik is, of na een crash, gooit recente gegevens weg.

Ontwikkelaar: D. Richard Hipp / SQLite Development Team (public domain) Categorie: Databasebestanden Open standaard MIME: application/octet-stream
OPENT OP Windows macOS Linux
Gerelateerd: .DB · .DBF · .ACCDB · .SQL

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Jul 25, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het DB-WAL-bestandsformaat?

.db-wal bestanden worden gebruikt door de SQLite database-engine (sinds versie 3.7.0, uitgebracht in juli 2010) in de WAL (Write-Ahead Logging) journaalmodus.

Inhoud van DB-WAL bestanden

Bestanden met de extensie .db-wal bevatten write-ahead loggegevens voor een bijbehorende SQLite database. Dergelijke bestanden worden aangemaakt en gebruikt terwijl een database geopend is en actief wordt gewijzigd. Een .db-wal bestand slaat doorgevoerde databasewijzigingen op - volledige databasepagina's - die nog niet zijn teruggeschreven („checkpointed”) naar het hoofd .db bestand. Deze write-ahead aanpak is sneller dan het direct ter plaatse wijzigen van databasepagina's en garandeert duurzaamheid: in het geval van een plotselinge stroomuitval of systeemcrash kan SQLite de WAL opnieuw afspelen om alle doorgevoerde transacties te herstellen.

Elk .db-wal bestand begint met een 32-byte header die een 4-byte magic number bevat (0x377f0682 voor little-endian checksums, 0x377f0683 for big-endian), salt-waarden en een cumulatieve checksum. De body bestaat uit frames: een 24-byte frame-header plus telkens één volledige databasepagina. Salt-waarden in de header maken verouderde frames ongeldig na een checkpoint, wat onbedoelde herhalingen voorkomt.

Gebruik van DB-WAL bestanden

.db-wal logbeheer is volledig geautomatiseerd door de SQLite engine. Een bijbehorend .db-shm bestand (shared-memory index) is altijd aanwezig naast de WAL terwijl de database geopend is. Het .db-wal bestand verdwijnt automatisch zodra alle wijzigingen zijn gecheckpoint - de standaard wal_autocheckpoint drempelwaarde is 1000 pagina's. Het onderliggende WAL-mechanisme wordt veelvuldig gebruikt op mobiele apparaten; databases in Android en iOS apps werken vaak in WAL-modus voor verbeterde gelijktijdigheid en schrijfprestaties.

Beveiliging & veiligheid

RISICO: LOW

Een .db-wal bevat inerte gegevens, geen uitvoerbare code, dus het kan niet uit zichzelf draaien. De echte risico's zijn operationeel, niet malware: (1) het verwijderen of verliezen van de -wal terwijl de database open is, of na een crash, gooit de nieuwste doorgevoerde transacties weg - maak samen een back-up van de -db, -wal en -shm; (2) de WAL van een app-database kan gevoelige, nog niet gecheckpointte gegevens bevatten (berichten, tokens, geschiedenis), dus behandel het als vertrouwelijk. Als de hoofddatabase versleuteld is (SQLCipher/SEE), is de -wal ook versleuteld.

Formaatdetails

in een notendop
VOLLEDIGE NAAMSQLite Write-Ahead Logook bekend als WAL file, SQLite WAL
ONTWIKKELAARD. Richard Hipp / SQLite Development Team (public domain)sinds SQLite 3.7.0, July 2010 (WAL journaling mode)
MIME-TYPEapplication/octet-stream
TYPEBinair write-ahead log hulpbestand voor een SQLite 3 database (transactiejournaal)
STANDAARDOpen · royaltyvrij
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
00010203
HEX
377F0682
ASCII
7···
De 32-byte WAL-header begint met een 4-byte magic number: 0x377f0682 als het bestand native little-endian checksums gebruikt, 0x377f0683 voor big-endian. Dit is NIET de „SQLite format 3” header van de hoofddatabase - het -wal bestand is een apart journaal, geen database. De bestandsnaam is altijd de databasenaam met „-wal” erachter (bijv. mydata.db-wal).

Programma's die DB-WAL-bestanden openen

Windows2 apps
DB Browser for SQLite Open-source Gebruik „Wijzigingen opslaan” / „Checkpoint” zodat de -wal wordt samengevoegd voordat u de database kopieert of back-upt.
SQLite (sqlite3 CLI) Open-source Voer „sqlite3 mydata.db” uit met de -wal ernaast; een checkpoint („PRAGMA wal_checkpoint(TRUNCATE);”) voegt het logboek samen met de hoofddatabase.
macOS2 apps
DB Browser for SQLite Open-source Gebruik „Wijzigingen opslaan” / „Checkpoint” zodat de -wal wordt samengevoegd voordat u de database kopieert of back-upt.
SQLite (sqlite3 CLI) Open-source Voer „sqlite3 mydata.db” uit met de -wal ernaast; een checkpoint („PRAGMA wal_checkpoint(TRUNCATE);”) voegt het logboek samen met de hoofddatabase.
Linux2 apps
SQLite (sqlite3 CLI) Open-source Voer „sqlite3 mydata.db” uit met de -wal ernaast; een checkpoint („PRAGMA wal_checkpoint(TRUNCATE);”) voegt het logboek samen met de hoofddatabase.
DB Browser for SQLite Open-source Gebruik „Wijzigingen opslaan” / „Checkpoint” zodat de -wal wordt samengevoegd voordat u de database kopieert of back-upt.

Technische details

diepe specificaties
Magic bytes0x377f0682 op offset 0 (little-endian checksums) of 0x377f0683 (big-endian checksums)
Header grootte32 bytes met magic, bestandsformaat-versie, paginagrootte, checkpoint-reeks, salt-paar en checksum
Frame-structuur24-byte frame-header + één volledige databasepagina per frame
PaginagrootteKomt overeen met de paginagrootte van de bovenliggende SQLite database (meestal 4096 bytes)
ChecksumCumulatieve 8-byte checksum (twee 32-bit woorden) in elke frame-header en in de WAL-header
Salt-invalidatieTwee 32-bit salt-waarden worden na elk checkpoint willekeurig gekozen, waardoor verouderde frames ongeldig worden
HulpbestandAltijd gekoppeld aan een .db-shm (shared-memory index) bestand terwijl de database open is
NaamgevingsconventieBestandsnaam van de database met -wal erachter (bijv. mydata.db-wal)
ActivatieAlleen aangemaakt wanneer de database is ingesteld op WAL-modus (PRAGMA journal_mode=WAL)
Auto-checkpointStandaard wal_autocheckpoint bij 1000 pagina's beperkt de maximale WAL-groei voor het checkpointen
Veld voor formaatversieWAL-header codeert de SQLite-bibliotheekversie als 3007000 (SQLite 3.7.0, juli 2010)
VersleutelingGeen standaard; versleuteld wanneer de database de SEE of SQLCipher extensie gebruikt
UitgebrachtSQLite 3.7.0, July 2010 (WAL journaling mode)
Laatste versieWAL file format magic 0x377f0682 (little-endian) / 0x377f0683 (big-endian)
Open standaardJa · royaltyvrij
Specificatiewww.sqlite.org

DB-WAL conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met DB-WAL-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over DB-WAL-bestanden.

Veelgestelde vragen

Wat is een .db-wal bestand en kan ik het verwijderen?
Het is een SQLite Write-Ahead Log dat de nieuwste doorgevoerde wijzigingen van de database bevat. Als de database correct is afgesloten, is de -wal gecheckpoint en is verwijderen veilig; als een app de database gebruikt of als deze is gecrasht, kan het verwijderen van de -wal leiden tot verlies van recente gegevens. Bij twijfel: laten staan.
Hoe open ik een .db-wal bestand?
U opent het niet op zichzelf - open de hoofddatabase (de .db/.sqlite die ernaast staat) in DB Browser for SQLite of met de sqlite3 tool, en houd de -wal in dezelfde map. SQLite leest het logboek automatisch en toont de actuele gegevens.
Waarom ontbreken de nieuwste gegevens nadat ik een SQLite-database heb gekopieerd?
U heeft waarschijnlijk alleen de .db gekopieerd en niet de -wal (en -shm). De laatste doorgevoerde wijzigingen staan in de -wal tot aan een checkpoint. Kopieer ofwel alle drie de bestanden samen, of voer eerst een checkpoint uit zodat alles in de enkele .db staat.
Wat is het verschil tussen .db-wal en .db-shm?
De -wal is het eigenlijke write-ahead logboek van gewijzigde pagina's. De -shm is een kleine shared-memory index die meerdere verbindingen helpt de laatste versie van elke pagina in de -wal te vinden. Beiden zijn tijdelijke hulpbestanden bij de hoofddatabase.
Is .db-wal een bestand dat alleen op Android voorkomt?
Nee. De databasenaam in onze catalogus noemt Android omdat veel Android-apps SQLite gebruiken, maar WAL is een generieke SQLite-functie die ook op iOS, Windows, macOS en Linux wordt gebruikt - browsers, Mail, Foto's en talloze apps maken -wal bestanden aan.
Hoe voeg ik een .db-wal weer samen met de database?
Open de database en voer „PRAGMA wal_checkpoint(TRUNCATE);” uit in de sqlite3 shell of DB Browser, of sluit de database gewoon netjes af. SQLite schrijft de gelogde pagina's naar het hoofdbestand en leegt de -wal.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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

Gerelateerde extensies

.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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z