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

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-Ö