perl, BerkeleyDB and CDS mode



有没有在Debian系统上使用带有perl的BerkeleyDB的CDS模式的例子?我正在初始化:

$db_env = new BerkeleyDB::Env
-Home => "/tmp",
-Flags => DB_CREATE | DB_INIT_CDB | DB_INIT_MPOOL
or die "cannot open environment $BerkeleyDB::Error";

我得到了一个DB_INIT_MPOOL的"无效参数"错误。如果我省略了它,我会收到关于"环境不包括内存池"(对于Hash或Btree数据库)的抱怨。

简单的答案是删除文件__db。XXX、 其中XXX是三个数字。例如,在我的环境中,我有三个文件,__db.001、__db.002和__db.003。

我知道这是一篇旧帖子,之前的答案基本上是一样的,但当我昨天在谷歌上偶然发现这篇帖子时,这个例子会对我有所帮助。

我得到了一个"无效论点"DB_INIT_MPOOL出错。如果我省略它,我收到关于"环境"的投诉不包括内存池"(用于Hash或Btree数据库)。

如果您试图创建一个具有不同配置(不同标志)的环境,则通常会出现第一种错误("无效参数")。

至于第二个错误(缺少内存池),这是因为您指示BDB在没有DB_INIT_MPOOL的情况下执行DB_INIT_CDB-这是不可能的,CDB必须使用内存池。

看看另一个BDB/CDB问题,我在那里留下了一些文档指针,这些文档可能会让您感兴趣。

最新更新