.DB-WAL

DB-WAL-fil

SQLite Write-Ahead Log
Still et spørsmål
HURTIGSVAR

En .db-wal-fil er en SQLite Write-Ahead Log - en midlertidig tilleggsfil som inneholder de nyeste bekreftede endringene for en SQLite-database før de skrives tilbake til hovedfilen (.db). For å lese den, åpne hoveddatabasen i DB Browser for SQLite og behold .db-wal i samme mappe; SQLite leser dem sammen automatisk. Den største bekymringen er sletting: fjerning av en .db-wal mens databasen er i bruk, eller etter et krasj, forkaster nylige data.

Utvikler: D. Richard Hipp / SQLite Development Team (public domain) Kategori: Databasefiler Åpen standard MIME: application/octet-stream
ÅPNES PÅ Windows macOS Linux
Relatert: .DB · .DBF · .ACCDB · .SQL

På denne siden

19k+ filendelser indeksert
Sist vurdert Jul 25, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er DB-WAL-filformatet?

.db-wal-filer brukes av SQLite-databasemotoren (siden versjon 3.7.0, utgitt juli 2010) i WAL (Write-Ahead Logging) journaliseringsmodus.

Innholdet i DB-WAL-filer

Filer med filendelsen .db-wal inneholder loggdata for en tilhørende SQLite-database. Slike filer opprettes og brukes mens en database er åpen og blir aktivt endret. En .db-wal-fil lagrer bekreftede databaseendringer - komplette databasesider - som ennå ikke er skrevet («checkpointed») tilbake til hovedfilen .db. Denne tilnærmingen er raskere enn å endre databasesider direkte på plass, og sikrer holdbarhet: i tilfelle et plutselig strømbrudd eller systemkrasj, kan SQLite spille av WAL-filen for å gjenopprette alle bekreftede transaksjoner.

Hver .db-wal-fil starter med en 32-byte header som inneholder et 4-byte magisk nummer (0x377f0682 for «little-endian» kontrollsummer, 0x377f0683 for «big-endian»), salt-verdier og en kumulativ kontrollsum. Selve innholdet består av rammer: en 24-byte ramme-header pluss én full databaseside per ramme. Salt-verdier i headeren ugyldiggjør gamle rammer etter et sjekkpunkt, noe som forhindrer utilsiktet gjentakelse.

Bruk av DB-WAL-filer

Håndtering av .db-wal-logger er fullstendig automatisert av SQLite-motoren. En tilhørende .db-shm-fil (delt minneindeks) er alltid til stede sammen med WAL-filen mens databasen er åpen. .db-wal-filen forsvinner automatisk når alle endringer er sjekkpunktet - standardterskelen for wal_autocheckpoint er 1000 sider. Den underliggende WAL-mekanismen er mye brukt på mobile enheter; databaser i Android- og iOS-apper opererer ofte i WAL-modus for forbedret samtidighet og skriveytelse.

Sikkerhet og trygghet

RISIKO: LOW

En .db-wal består av inerte data, ikke kjørbar kode, så den kan ikke kjøre av seg selv. De reelle risikoene er operasjonelle, ikke skadevare: (1) sletting eller tap av -wal-filen mens databasen er åpen, eller etter et krasj, forkaster de nyeste bekreftede transaksjonene - ta sikkerhetskopi av -db, -wal og -shm sammen; (2) WAL-filen til en app-database kan inneholde sensitive data som ennå ikke er sjekkpunktet (meldinger, tokens, historikk), så behandle den som konfidensiell. Hvis foreldredatabasen er kryptert (SQLCipher/SEE), er -wal-filen også kryptert.

Formatdetaljer

i et nøtteskall
FULLT NAVNSQLite Write-Ahead Logogså kjent som WAL file, SQLite WAL
UTVIKLERD. 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-tilleggsfil for en SQLite 3-database (transaksjonsjournal)
STANDARDÅpen · royalty-fri
MAGIC BYTES · FILSIGNATUR
OFFSET
00010203
HEX
377F0682
ASCII
7···
Den 32-byte store WAL-headeren starter med et 4-byte magisk nummer: 0x377f0682 hvis filen bruker native «little-endian» kontrollsummer, 0x377f0683 for «big-endian». Dette er IKKE «SQLite format 3»-headeren til hoveddatabasen - -wal-filen er en separat journal, ikke en database. Filnavnet er alltid databasenavnet med «-wal» lagt til (f.eks. mydata.db-wal).

Programmer som åpner DB-WAL-filer

Windows2 apps
DB Browser for SQLite Åpen kildekode Bruk «Write Changes» / «Checkpoint» slik at -wal-filen blir sammenslått før du kopierer eller tar sikkerhetskopi av databasen.
SQLite (sqlite3 CLI) Åpen kildekode Kjør «sqlite3 mydata.db» med -wal-filen ved siden av; et sjekkpunkt («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen inn i hoveddatabasen.
macOS2 apps
DB Browser for SQLite Åpen kildekode Bruk «Write Changes» / «Checkpoint» slik at -wal-filen blir sammenslått før du kopierer eller tar sikkerhetskopi av databasen.
SQLite (sqlite3 CLI) Åpen kildekode Kjør «sqlite3 mydata.db» med -wal-filen ved siden av; et sjekkpunkt («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen inn i hoveddatabasen.
Linux2 apps
SQLite (sqlite3 CLI) Åpen kildekode Kjør «sqlite3 mydata.db» med -wal-filen ved siden av; et sjekkpunkt («PRAGMA wal_checkpoint(TRUNCATE);») folder loggen inn i hoveddatabasen.
DB Browser for SQLite Åpen kildekode Bruk «Write Changes» / «Checkpoint» slik at -wal-filen blir sammenslått før du kopierer eller tar sikkerhetskopi av databasen.

Tekniske detaljer

dyp spesifikasjon
Magic bytes0x377f0682 ved offset 0 (little-endian kontrollsummer) eller 0x377f0683 (big-endian kontrollsummer)
Header-størrelse32 byte som inneholder magic, filformatversjon, sidestørrelse, sjekkpunktsekvens, salt-par og kontrollsum
Rammestruktur24-byte ramme-header + én full databaseside per ramme
SidestørrelseSamsvarer med sidestørrelsen til den overordnede SQLite-databasen (vanligvis 4096 byte)
KontrollsumKumulativ 8-byte kontrollsum (to 32-bit ord) i hver ramme-header og i WAL-headeren
Salt-ugyldiggjøringTo 32-bit salt-verdier randomiseres etter hvert sjekkpunkt, noe som ugyldiggjør eventuelle gamle rammer
TilleggsfilAlltid paret med en .db-shm-fil (delt minneindeks) mens databasen er åpen
NavnekonvensjonDatabasens filnavn med -wal lagt til (f.eks. mydata.db-wal)
AktiveringOpprettes kun når databasen er satt til WAL-modus (PRAGMA journal_mode=WAL)
Auto-sjekkpunktStandard wal_autocheckpoint på 1000 sider begrenser maksimal WAL-vekst før sjekkpunktkjøring
Felt for formatversjonWAL-headeren koder SQLite-bibliotekversjonen som 3007000 (SQLite 3.7.0, juli 2010)
KrypteringIngen som standard; kryptert når databasen bruker SEE- eller SQLCipher-utvidelser
UtgittSQLite 3.7.0, July 2010 (WAL journaling mode)
Siste versjonWAL file format magic 0x377f0682 (little-endian) / 0x377f0683 (big-endian)
Åpen standardJa · royalty-fri
Spesifikasjonwww.sqlite.org

DB-WAL-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med DB-WAL-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om DB-WAL-filer.

Ofte stilte spørsmål

Hva er en .db-wal-fil, og kan jeg slette den?
Det er en SQLite Write-Ahead Log som inneholder databasens nyeste bekreftede endringer. Hvis databasen ble lukket på riktig måte, har -wal-filen blitt sjekkpunktet og det er trygt å slette den; hvis en app bruker databasen eller den krasjet, kan sletting av -wal føre til tap av nylige data. Ved tvil, la den være.
Hvordan åpner jeg en .db-wal-fil?
Du åpner den ikke alene - åpne hoveddatabasen (.db/.sqlite ved siden av den) i DB Browser for SQLite eller med sqlite3-verktøyet, og behold -wal-filen i samme mappe. SQLite leser loggen automatisk og viser gjeldende data.
Hvorfor mangler de nyeste dataene etter at jeg kopierte en SQLite-database?
Du kopierte sannsynligvis bare .db-filen og ikke -wal (og -shm). De siste bekreftede endringene lever i -wal-filen frem til et sjekkpunkt. Enten kopier alle tre filene sammen, eller kjør et sjekkpunkt først slik at alt ligger i den enkelte .db-filen.
Hva er forskjellen mellom .db-wal og .db-shm?
En -wal er selve loggen over endrede sider. En -shm er en liten delt minneindeks som hjelper flere tilkoblinger med å finne den nyeste versjonen av hver side i -wal-filen. Begge er midlertidige tilleggsfiler til hoveddatabasen.
Er .db-wal en fil som kun finnes på Android?
Nei. Databasenavnet i vår katalog nevner Android fordi mange Android-apper bruker SQLite, men WAL er en generell SQLite-funksjon som også brukes på iOS, Windows, macOS og Linux - nettlesere, Mail, Bilder og utallige apper oppretter -wal-filer.
Hvordan slår jeg en .db-wal sammen med databasen igjen?
Åpne databasen og kjør «PRAGMA wal_checkpoint(TRUNCATE);» i sqlite3-skallet eller DB Browser, eller bare lukk databasen på vanlig måte. SQLite skriver de loggede sidene inn i hovedfilen og tømmer -wal-filen.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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

Relaterte filendelser

.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 filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å