.DB-WAL

DB-WAL-fil

SQLite Write-Ahead Log
Stil et spørgsmål
HURTIGT SVAR

En .db-wal fil er en SQLite Write-Ahead Log - en midlertidig sidevognsfil, der indeholder de nyeste bekræftede ændringer til en SQLite-database, før de skrives tilbage til den primære .db-fil. For at læse den skal du åbne hoveddatabasen i DB Browser for SQLite og beholde .db-wal i den samme mappe; SQLite læser dem automatisk sammen. Den største bekymring er sletning: Hvis man fjerner en .db-wal, mens databasen er i brug, eller efter et nedbrud, kasseres de seneste data.

Udvikler: D. Richard Hipp / SQLite Development Team (public domain) Kategori: Databasefiler Åben standard MIME: application/octet-stream
ÅBNER PÅ Windows macOS Linux
Relateret: .DB · .DBF · .ACCDB · .SQL

På denne side

19k+ filtyper indekseret
Sidst gennemset Jul 25, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er DB-WAL-filformatet?

.db-wal filer bruges af SQLite-databasemotoren (siden version 3.7.0, udgivet juli 2010) i WAL (Write-Ahead Logging) journaliseringstilstand.

Indhold af DB-WAL filer

Filer med filtypen .db-wal indeholder write-ahead logdata for en tilhørende SQLite database. Sådanne filer oprettes og bruges, mens en database er åben og aktivt ændres. En .db-wal fil gemmer bekræftede databaseændringer - komplette databasesider - som endnu ikke er blevet skrevet («checkpointed») tilbage til den primære .db fil. Denne write-ahead-metode er hurtigere end direkte at ændre databasesider på stedet og sikrer holdbarhed: i tilfælde af et pludseligt strømsvigt eller systemnedbrud kan SQLite genafspille WAL-filen for at gendanne alle bekræftede transaktioner.

Hver .db-wal fil begynder med en 32-byte header, der indeholder et 4-byte magisk nummer (0x377f0682 for little-endian kontrolsummer, 0x377f0683 for big-endian), salt-værdier og en kumulativ kontrolsum. Selve indholdet består af rammer: en 24-byte ramme-header plus én fuld databaseside hver. Salt-værdierne i headeren ugyldiggør forældede rammer efter et checkpoint, hvilket forhindrer utilsigtede genafspilninger.

Brug af DB-WAL filer

.db-wal logstyring er fuldt automatiseret af SQLite-motoren. En ledsagende .db-shm fil (shared-memory index) er altid til stede sammen med WAL-filen, mens databasen er åben. .db-wal filen forsvinder automatisk, når alle ændringer er checkpointet - standardtærsklen for wal_autocheckpoint er 1000 sider. Den underliggende WAL-mekanisme er meget udbredt på mobile enheder; databaser i Android- og iOS-apps kører ofte i WAL-tilstand for forbedret samtidighed og skriveydelse.

Sikkerhed og tryghed

RISIKO: LOW

En .db-wal er inerte data, ikke eksekverbar kode, så den kan ikke køre af sig selv. De reelle risici er operationelle, ikke malware: (1) sletning eller tab af -wal-filen, mens databasen er åben eller efter et nedbrud, kasserer de nyeste bekræftede transaktioner - tag backup af -db, -wal og -shm sammen; (2) WAL-filen i en app-database kan indeholde følsomme data, der endnu ikke er checkpointet (beskeder, tokens, historik), så behandl den som fortrolig. Hvis den overordnede database er krypteret (SQLCipher/SEE), er -wal-filen også krypteret.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNSQLite Write-Ahead Logogså kendt som WAL file, SQLite WAL
UDVIKLERD. Richard Hipp / SQLite Development Team (public domain)siden SQLite 3.7.0, July 2010 (WAL journaling mode)
MIME-TYPEapplication/octet-stream
TYPEBinær write-ahead log sidevogn til en SQLite 3 database (transaktionsjournal)
STANDARDÅben · royaltyfri
MAGIC BYTES · FILSIGNATUR
OFFSET
00010203
HEX
377F0682
ASCII
7···
Den 32-byte WAL-header begynder med et 4-byte magisk nummer: 0x377f0682 hvis filen bruger indfødte little-endian kontrolsummer, 0x377f0683 for big-endian. Dette er IKKE «SQLite format 3» headeren fra hoveddatabasen - -wal-filen er en separat journal, ikke en database. Filnavnet er altid databasenavnet med «-wal» tilføjet (f.eks. mydata.db-wal).

Programmer der åbner DB-WAL-filer

Windows2 apps
DB Browser for SQLite Open-source Brug «Write Changes» / «Checkpoint», så -wal-filen flettes, før du kopierer eller tager backup af databasen.
SQLite (sqlite3 CLI) Open-source Kør «sqlite3 mydata.db» med -wal-filen ved siden af; et checkpoint («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen ind i hoveddatabasen.
macOS2 apps
DB Browser for SQLite Open-source Brug «Write Changes» / «Checkpoint», så -wal-filen flettes, før du kopierer eller tager backup af databasen.
SQLite (sqlite3 CLI) Open-source Kør «sqlite3 mydata.db» med -wal-filen ved siden af; et checkpoint («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen ind i hoveddatabasen.
Linux2 apps
SQLite (sqlite3 CLI) Open-source Kør «sqlite3 mydata.db» med -wal-filen ved siden af; et checkpoint («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen ind i hoveddatabasen.
DB Browser for SQLite Open-source Brug «Write Changes» / «Checkpoint», så -wal-filen flettes, før du kopierer eller tager backup af databasen.

Tekniske detaljer

dyb specifikation
Magic bytes0x377f0682 ved offset 0 (little-endian kontrolsummer) eller 0x377f0683 (big-endian kontrolsummer)
Header-størrelse32 bytes indeholdende magic, filformat-version, sidestørrelse, checkpoint-sekvens, salt-par og kontrolsum
Rammestruktur24-byte ramme-header + én fuld databaseside pr. ramme
SidestørrelseMatcher sidestørrelsen på den overordnede SQLite-database (typisk 4096 bytes)
KontrolsumKumulativ 8-byte kontrolsum (to 32-bit ord) i hver ramme-header og i WAL-headeren
Salt-ugyldiggørelseTo 32-bit salt-værdier randomiseres efter hvert checkpoint, hvilket ugyldiggør eventuelle forældede rammer
LedsagerfilAltid parret med en .db-shm (shared-memory index) fil, mens databasen er åben
NavngivningskonventionDatabase-filnavn med -wal tilføjet (f.eks. mydata.db-wal)
AktiveringOprettes kun, når databasen er indstillet til WAL-tilstand (PRAGMA journal_mode=WAL)
Auto-checkpointStandard wal_autocheckpoint ved 1000 sider begrænser maksimal WAL-vækst før checkpointing
Format-versionsfeltWAL-header koder SQLite-biblioteksversionen som 3007000 (SQLite 3.7.0, juli 2010)
KrypteringIngen som standard; krypteret når databasen bruger SEE- eller SQLCipher-udvidelse
UdgivetSQLite 3.7.0, July 2010 (WAL journaling mode)
Seneste versionWAL file format magic 0x377f0682 (little-endian) / 0x377f0683 (big-endian)
Åben standardJa · royaltyfri
Specifikationwww.sqlite.org

DB-WAL-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med DB-WAL-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om DB-WAL-filer.

Ofte stillede spørgsmål

Hvad er en .db-wal fil, og kan jeg slette den?
Det er en SQLite Write-Ahead Log, der indeholder databasens nyeste bekræftede ændringer. Hvis databasen lukkes korrekt, er -wal-filen blevet checkpointet, og det er sikkert at slette den; hvis en app bruger databasen, eller den er gået ned, kan sletning af -wal medføre tab af nylige data. Lad den være, hvis du er i tvivl.
Hvordan åbner jeg en .db-wal fil?
Du åbner den ikke alene - åbn hoveddatabasen (.db/.sqlite ved siden af den) i DB Browser for SQLite eller med sqlite3-værktøjet, og behold -wal-filen i samme mappe. SQLite læser loggen automatisk og viser de aktuelle data.
Hvorfor mangler de nyeste data, efter jeg har kopieret en SQLite-database?
Du har sandsynligvis kun kopieret .db-filen og ikke -wal (og -shm). De seneste bekræftede ændringer lever i -wal-filen indtil et checkpoint. Kopier enten alle tre filer sammen, eller kør et checkpoint først, så alt er samlet i den enkelte .db-fil.
Hvad er forskellen på .db-wal og .db-shm?
-wal er selve write-ahead loggen over ændrede sider. -shm er et lille delt hukommelsesindeks (shared-memory index), der hjælper flere forbindelser med at finde den nyeste version af hver side i -wal-filen. Begge er midlertidige sidevognsfiler til hoveddatabasen.
Er .db-wal kun en Android-fil?
Nej. Databasenavnet i vores katalog nævner Android, fordi mange Android-apps bruger SQLite, men WAL er en generisk SQLite-funktion, der også bruges på iOS, Windows, macOS og Linux - browsere, Mail, Fotos og utallige apps opretter -wal-filer.
Hvordan fletter jeg en .db-wal tilbage i databasen?
Åbn databasen og kør «PRAGMA wal_checkpoint(TRUNCATE);» i sqlite3-shell eller DB Browser, eller luk blot databasen korrekt. SQLite skriver de loggede sider ind i hovedfilen og tømmer -wal-filen.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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

Relaterede filtyper

.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 filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å