режимы Perl, BerkeleyDB и CDS - PullRequest
       7

режимы Perl, BerkeleyDB и CDS

1 голос
/ 14 июня 2011

Есть ли пример использования режима CDS для BerkeleyDB с perl в системе Debian?Я инициализирую с помощью:

$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).

Ответы [ 2 ]

1 голос
/ 14 марта 2013

Простой ответ на это - удалить файлы __db.XXX, где XXX - это три числа. Например, в моей среде у меня было три файла: __db.001, __db.002 и __db.003.

Я знаю, что это старый пост, и предыдущий ответ по сути такой же, но пример помог бы мне, когда я наткнулся на этот пост, когда вчера гуглил.

0 голосов
/ 15 июня 2011

И я получаю "неверный аргумент" ошибка для DB_INIT_MPOOL. Если я опущу это, Я получаю жалобы на "окружающую среду не включает пул памяти "(для базы данных Hash или Btree).

Обычно вы получаете этот первый тип ошибки («Неверный аргумент»), если вы пытаетесь создать среду, в которой уже существует среда с другой конфигурацией (другими флагами).

Что касается второй ошибки (отсутствует пул памяти), то это потому, что вы указываете BDB выполнить DB_INIT_CDB без DB_INIT_MPOOL - это невозможно, CDB должен идти с пулом памяти.

Взгляните на этот другой вопрос BDB / CDB , я оставил там несколько указателей на документацию, которая может оказаться интересной для вас.

...