2011-06-14 2 views
1

데비안 시스템에서 perl과 함께 BerkeleyDB에 CDS 모드를 사용하는 예가 있습니까? 나는으로 초기화 중입니다 :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에 대해 "잘못된 인수"오류가 발생합니다. 생략하면 환경에 메모리 풀이 포함되지 않는다는 불만이 있습니다 (해시 또는 Btree 데이터베이스 용).

+0

[upgrade libdb] (http://sleepycat.com/)와 4.8 또는 5.1의 헤더에 잘 작동합니까? – daxim

답변

0

그리고 "잘못된 인수"DB_INIT_MPOOL에 대한 오류가 발생합니다. 생략하면 "환경 에 메모리 풀이 포함되지 않았습니다"(해시 또는 Btree 데이터베이스 )에 대한 불만이 있습니다. 당신이 다른 구성 (다른 플래그)가있는 환경이 이미 존재하는 환경을 만들려고하면

당신은 일반적으로 오류의 첫 번째 종류 ("잘못된 인수")를 받고있어. 당신이 DB_INIT_MPOOL없이 DB_INIT_CDB을 할 BDB를 지시하고 있기 때문에 두 번째 오류 (메모리 풀 누락)에 관해서는

, 그것은이다 - 그하지 가능, CDB 는 메모리 풀과 가고있다.

this other BDB/CDB question을 살펴보고 흥미로운 점을 알 수있는 몇 가지 문서를 남겨 두었습니다.

1

간단한 대답은 __db.XXX 파일을 제거하는 것입니다. 여기서 XXX는 세 개의 숫자입니다. 예를 들어 제 환경에서는 __db.001, __db.002 및 __db.003이라는 세 개의 파일이있었습니다.

이 게시물은 이전 게시물이며 이전 답변은 본질적으로 같은 것이지만 어제봤을 때이 게시물을 우연히 발견했을 때 예제가 도움이되었을 것입니다.