db_dump(berkeley db) 的奇怪结果

Posted

技术标签:

【中文标题】db_dump(berkeley db) 的奇怪结果【英文标题】:weird results on db_dump(berkeley db) 【发布时间】:2014-09-23 09:18:06 【问题描述】:

我有大约 400MB 大小的 berkeley db 文件。

$> ls -alh ses.db
-rw-rw-r-- 1 junyoung junyoung 391M  9월 23 17:32 ses.db

转储后,我再次检查了尺寸。

$> db_dump ses.db > ses.db.dump
$> ls -alh ses.db.dump
-rw-rw-r-- 1 junyoung junyoung 2.2M  9월 23 18:09 ses.db.dump1

结果文件的大小比我预期的要小。 这是什么原因?有cmets吗?

【问题讨论】:

【参考方案1】:

可以肯定,这可能有很多原因。但可能最常见的原因是数据库曾经保存了更多的记录,这些记录后来被删除了。该空间不会返回到文件系统。

有关更多信息,请参阅 Oracle 论坛中的此主题https://community.oracle.com/thread/879030。而且,正如其中所说,尝试使用 db_stat 命令来了解数据库中正在发生的事情。

【讨论】:

以上是关于db_dump(berkeley db) 的奇怪结果的主要内容,如果未能解决你的问题,请参考以下文章

关于Berkeley DB

Berkeley DB为啥又叫做db4

在 Berkeley DB Core 和 Berkeley DB JE 之间进行选择

berkeley-db-je 的最新版本是啥?

我可以使用 oracle berkeley db java edition 的 c 实现(python bsddb)创建的 bdb(berkeley db)文件吗?

berkeley db java edition怎样存储数据库?