sqlite 3.8.5。
当电源耗尽时,我有一个Ruby程序将行插入sqlite3数据库。该目录现在具有数据库,日志和锁定文件。当我使用控制台访问数据库时,所有命令都被"拒绝:数据库被锁定"所以我无法访问它。
根据我的所有谷歌搜索,下次通过sqlite3进程打开数据库时,应该重播或回滚日志。但是,这显然没有发生(期刊大小没有变化,锁定文件仍然存在)。
如何恢复此数据库?
答案 0 :(得分:1)
当您配置SQLite以使用点文件锁定(而不是默认的POSIX顾问锁)时,操作系统无法自动清除锁定,因为锁定文件看起来像操作系统的普通文件。
如果您确定创建锁的应用程序不再运行,只需删除锁定文件。
(永远不要手动删除日志文件。)