我正在使用Berkeley dbxml 2.5.16。首先,我将文件Test.xml插入myDb.dbxml容器。
dbxml> putDocument KEY_1 Test.xml`
然后我检查了容器的文件大小,
bash-3.2$ ls -ll ${dbxml-home}/myDb.dbxml
rw-r----- 1 raga raga **679936** Jul 31 21:53 myDb.dbxml*
然后我从容器中删除了相同的文档,
dbxml> removedocument KEY_1
Document deleted, name = KEY_1
我再次检查了容器的文件大小。
bash-3.2$ ls -ll ${dbxml-home}/myDb.dbxml
rw-r----- 1 raga raga **679936** Jul 31 23:07 myDb.dbxml
我的疑问是,即使从容器中删除文档后,文件大小仍保持不变。这是否意味着文件没有被正确删除或只有内容被删除但引用仍然存在? (所有操作都在交易下完成)
答案 0 :(得分:1)
我不记得为什么那个版本仍然保留它的大小;一种理论是,您可能需要对容器本身进行sync
调用。
我强烈建议升级到最新版本(6.1.4)。数据库引擎有很多改进可以解决这类问题。您可以在http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html获取最新信息。