有什么方法可以为整个 Berkeley DB 数据库获取独占写入锁,而不必关闭它并使用Db::set_lk_exclusive()重新打开它?
也许使用DbEnv::lock_get()?但是在这种情况下,应该怎么称呼呢?我还没有找到任何关于它的例子。
谢谢。
有什么方法可以为整个 Berkeley DB 数据库获取独占写入锁,而不必关闭它并使用Db::set_lk_exclusive()重新打开它?
也许使用DbEnv::lock_get()?但是在这种情况下,应该怎么称呼呢?我还没有找到任何关于它的例子。
谢谢。
我在Oracle论坛上发布了同样的问题并得到了回复:
如果您已经打开 BDB 数据库以使用页级锁定,则无法在 BDB 数据库上获得独占写入锁定。DbEnv::lock_get() 和锁接口的其余部分,只有在您计划管理在环境中获得的所有锁时才真正应该使用。