我有一个长时间运行的进程,已经将数万条记录插入到ubuntu linux 4.4.0上以wal模式运行的sqlite3数据库中。
随机地约有10个交易失败,因为sqlite3“无法打开数据库文件”。
所有这些失败都是对同一个表的简单更新。
在这些失败之前,许多事务都通过相同的过程成功提交到数据库。
其中一些事务是带有问题的表插入,还有一些是对其他表的插入和更新。
当进程仍在运行时,问题自行解决,对表的更新才开始工作。
所有交易均不使用临时表,也不具有分组依据。它们都是简单的选择,插入或更新。
主机上没有其他非root或系统级进程可能以某种方式搞砸了权限。
sqlite3进程有权写入/ tmp和/ var / tmp并成功写入/ var / tmp。
该过程从不设置sqlite的锁定模式。
数据库路径没什么好笑的,只是ascii。
我将不胜感激。
谢谢。