Is your DB in *WAL* mode? I assume it is, otherwise read-only would have worked. If so, does it use the *Persistent WAL* option? By preventing the -SHM file to be deleted on checkpoints, I think you can open still open that DB in readonly mode then. Although WAL is part of the DB file itself (i.e. persistent), keeping the -SHM around is not, all your connections need to set it. (I believe).