.DB-WAL

DB-WAL-fil

SQLite Write-Ahead Log
Ställ en fråga
SNABBT SVAR

En .db-wal-fil är en SQLite Write-Ahead Log - en tillfällig sidofil som innehåller de senaste bekräftade ändringarna för en SQLite-databas innan de skrivs tillbaka till huvudfilen .db. För att läsa den, öppna huvuddatabasen i DB Browser for SQLite och se till att .db-wal finns i samma mapp; SQLite läser dem automatiskt tillsammans. Den största risken är radering: om du tar bort en .db-wal medan databasen används, eller efter en krasch, går de senaste dataförlusterna förlorade.

Utvecklare: D. Richard Hipp / SQLite Development Team (public domain) Kategori: Databasfiler Öppen standard MIME: application/octet-stream
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .DB · .DBF · .ACCDB · .SQL

På denna sida

19k+ filtillägg indexerade
Senast granskad Jul 25, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet DB-WAL?

.db-wal-filer används av databasmotorn SQLite (sedan version 3.7.0, släppt juli 2010) i journalföringsläget WAL (Write-Ahead Logging).

Innehåll i DB-WAL-filer

Filer med filtillägget .db-wal innehåller loggdata för en parad SQLite-databas. Sådana filer skapas och används medan en databas är öppen och aktivt modifieras. En .db-wal-fil lagrar bekräftade databasändringar - kompletta databassidor - som ännu inte har skrivits («checkpointed») tillbaka till huvudfilen .db. Denna metod är snabbare än att direkt modifiera databassidor på plats och säkerställer hållbarhet: i händelse av ett plötsligt strömavbrott eller systemkrasch kan SQLite spela upp WAL-loggen för att återställa alla bekräftade transaktioner.

Varje .db-wal-fil börjar med ett 32-byte huvud (header) som innehåller ett 4-byte magiskt nummer (0x377f0682 för little-endian kontrollsummor, 0x377f0683 för big-endian), salt-värden och en kumulativ kontrollsumma. Kroppen består av ramar: ett 24-byte ramhuvud plus en fullständig databassida per ram. Salt-värdena i huvudet ogiltigförklarar gamla ramar efter en kontrollpunkt, vilket förhindrar oavsiktliga uppspelningar.

Användning av DB-WAL-filer

Hanteringen av .db-wal-loggar är helt automatiserad av SQLite-motorn. En tillhörande .db-shm-fil (delat minnesindex) finns alltid bredvid WAL-filen medan databasen är öppen. .db-wal-filen försvinner automatiskt när alla ändringar har skrivits över - standardtröskeln för wal_autocheckpoint är 1000 sidor. Den underliggande WAL-mekanismen används i stor utsträckning på mobila enheter; databaser i appar för Android och iOS körs ofta i WAL-läge för förbättrad samtidighet och skrivprestanda.

Säkerhet & trygghet

RISK: LOW

En .db-wal består av inerta data, inte exekverbar kod, så den kan inte köras av sig själv. De verkliga riskerna är operativa, inte skadlig kod: (1) radering eller förlust av -wal medan databasen är öppen, eller efter en krasch, kastar bort de senaste bekräftade transaktionerna - säkerhetskopiera -db, -wal och -shm tillsammans; (2) WAL-filen för en app-databas kan innehålla känsliga data som ännu inte skrivits över (meddelanden, tokens, historik), så hantera den som konfidentiell. Om den överordnade databasen är krypterad (SQLCipher/SEE), är även -wal-filen krypterad.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNSQLite Write-Ahead Logäven känd som WAL file, SQLite WAL
UTVECKLARED. Richard Hipp / SQLite Development Team (public domain)sedan SQLite 3.7.0, July 2010 (WAL journaling mode)
KATEGORIDatabasfiler
MIME-TYPapplication/octet-stream
TYPBinär Write-Ahead Log-sidofil för en SQLite 3-databas (transaktionsjournal)
STANDARDÖppen · royaltyfri
MAGIC BYTES · FILSIGNATUR
OFFSET
00010203
HEX
377F0682
ASCII
7···
Det 32-byte långa WAL-huvudet börjar med ett 4-byte magiskt nummer: 0x377f0682 om filen använder infödda little-endian kontrollsummor, 0x377f0683 för big-endian. Detta är INTE «SQLite format 3»-huvudet för huvuddatabasen - -wal-filen är en separat journal, inte en databas. Filnamnet är alltid databasens namn med «-wal» tillagt (t.ex. mydata.db-wal).

Program som öppnar DB-WAL-filer

Windows2 apps
DB Browser for SQLite Öppen källkod Använd «Write Changes» / «Checkpoint» så att -wal slås ihop innan du kopierar eller säkerhetskopierar databasen.
SQLite (sqlite3 CLI) Öppen källkod Kör «sqlite3 mydata.db» med -wal-filen bredvid; en kontrollpunkt («PRAGMA wal_checkpoint(TRUNCATE);») viker in loggen i huvuddatabasen.
macOS2 apps
DB Browser for SQLite Öppen källkod Använd «Write Changes» / «Checkpoint» så att -wal slås ihop innan du kopierar eller säkerhetskopierar databasen.
SQLite (sqlite3 CLI) Öppen källkod Kör «sqlite3 mydata.db» med -wal-filen bredvid; en kontrollpunkt («PRAGMA wal_checkpoint(TRUNCATE);») viker in loggen i huvuddatabasen.
Linux2 apps
SQLite (sqlite3 CLI) Öppen källkod Kör «sqlite3 mydata.db» med -wal-filen bredvid; en kontrollpunkt («PRAGMA wal_checkpoint(TRUNCATE);») viker in loggen i huvuddatabasen.
DB Browser for SQLite Öppen källkod Använd «Write Changes» / «Checkpoint» så att -wal slås ihop innan du kopierar eller säkerhetskopierar databasen.

Tekniska detaljer

djup specifikation
Magic bytes0x377f0682 vid offset 0 (little-endian kontrollsummor) eller 0x377f0683 (big-endian kontrollsummor)
Huvudstorlek32 byte innehållande magiskt nummer, filformatsversion, sidstorlek, kontrollpunktssekvens, salt-par och kontrollsumma
Ramstruktur24-byte ramhuvud + en fullständig databassida per ram
SidstorlekMatchar sidstorleken för den överordnade SQLite-databasen (vanligtvis 4096 byte)
KontrollsummaKumulativ 8-byte kontrollsumma (två 32-bitars ord) i varje ramhuvud och i WAL-huvudet
Salt-ogiltigförklaringTvå 32-bitars salt-värden slumpas efter varje kontrollpunkt, vilket ogiltigförklarar gamla ramar
FöljefilAlltid parad med en .db-shm-fil (delat minnesindex) medan databasen är öppen
NamnkonventionDatabasens filnamn med -wal tillagt (t.ex. mydata.db-wal)
AktiveringSkapas endast när databasen är inställd på WAL-läge (PRAGMA journal_mode=WAL)
Auto-kontrollpunktStandardvärdet wal_autocheckpoint vid 1000 sidor begränsar maximal WAL-tillväxt före skrivning
Fält för formatversionWAL-huvudet kodar SQLite-bibliotekets version som 3007000 (SQLite 3.7.0, juli 2010)
KrypteringIngen som standard; krypterad när databasen använder tilläggen SEE eller SQLCipher
SläpptSQLite 3.7.0, July 2010 (WAL journaling mode)
Senaste versionWAL file format magic 0x377f0682 (little-endian) / 0x377f0683 (big-endian)
Öppen standardJa · royaltyfri
Specifikationwww.sqlite.org

DB-WAL-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med DB-WAL-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om DB-WAL-filer.

Vanliga frågor

Vad är en .db-wal-fil och kan jag radera den?
Det är en SQLite Write-Ahead Log som innehåller databasens senaste bekräftade ändringar. Om databasen stängdes korrekt har -wal-filen skrivits över till huvudfilen och kan raderas säkert; om en app använder databasen eller om den kraschade kan radering av -wal leda till dataförlust. Vid osäkerhet, låt den vara kvar.
Hur öppnar jag en .db-wal-fil?
Du öppnar den inte på egen hand - öppna huvuddatabasen (.db/.sqlite bredvid den) i DB Browser for SQLite eller med verktyget sqlite3, och ha -wal-filen i samma mapp. SQLite läser loggen automatiskt och visar aktuella data.
Varför saknas de senaste uppgifterna efter att jag kopierat en SQLite-databas?
Du kopierade förmodligen bara .db-filen och inte -wal (och -shm). De senaste bekräftade ändringarna lever i -wal-filen fram till en kontrollpunkt. Antingen kopierar du alla tre filerna tillsammans, eller så kör du en kontrollpunkt först så att allt finns i den enskilda .db-filen.
Vad är skillnaden mellan .db-wal och .db-shm?
En -wal är den faktiska loggen över ändrade sidor. En -shm är ett litet index i delat minne som hjälper flera anslutningar att hitta den senaste versionen av varje sida i -wal-filen. Båda är tillfälliga sidofiler till huvuddatabasen.
Är .db-wal en fil som bara finns i Android?
Nej. Databasnamnet i vår katalog nämner Android eftersom många Android-appar använder SQLite, men WAL är en generisk SQLite-funktion som används på iOS, Windows, macOS och Linux också - webbläsare, Mail, Photos och otaliga appar skapar -wal-filer.
Hur slår jag ihop en .db-wal med databasen igen?
Öppna databasen och kör «PRAGMA wal_checkpoint(TRUNCATE);» i sqlite3-skalet eller DB Browser, eller stäng helt enkelt databasen korrekt. SQLite skriver då de loggade sidorna till huvudfilen och tömmer -wal-filen.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.EXEWindows Executable (Portable Executable)
5.TAGDataFlex Query Tag Name File
6.M4AMPEG-4 Audio File
7.ICSiCalendar data file
8.JSONJavaScript Object Notation file
9.DATProgram Data File (generic)
10.JPGJPEG Image

Relaterade filtillägg

.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 filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö