是不是真的,如果Berkeley DB被多个并发进程打开(并且被写入)而没有事务,那么数据库可能已损坏?
答案 0 :(得分:0)
我们需要锁定。 (但事务并非绝对必要。)请参阅文档中的http://www.mathematik.uni-ulm.de/help/BerkeleyDB/ref/debug/common.html:
<强>症状:强> 运行多个线程或进程,数据库似乎已损坏。
可能的原因: 锁定未启用。
<强>修正:强> 确保您在访问方法中获取锁定。您必须为DB_ENV-&gt;打开调用指定DB_INIT_LOCK,然后将该环境传递给DB-&gt; open。