如何读取slapd的伯克利DB日志文件?

我在Fedora 14上运行OpenLDAP的slapd ,我发现在数据库的目录中有一个log.0000000001文件。 我希望能够阅读这个文件,因为我对最近发生的事务感兴趣。 我如何阅读这个文件?

对于常见的Berkeley DB, db4-utils包中包含一些工具来操纵:

 db_archive db_checkpoint db_deadlock db_dump db_dump185 db_load db_printlog db_recover db_stat db_upgrade db_verify 

但是,如果您使用db_printlog从OpenLDAP中读取Berkeley日志文件,则会出现以下错误:

db_printlog:程序版本4.3与环境版本不匹配db_printlog:DB_EN​​V-> open:DB_VERSION_MISMATCH:数据库环境版本不匹配

原因是OpenLDAP附带了db-4.3内部拷贝工具:

 slapd_db_archive slapd_db_checkpoint slapd_db_deadlock slapd_db_dump slapd_db_hotbackup slapd_db_load slapd_db_printlog slapd_db_recover slapd_db_stat slapd_db_upgrade slapd_db_verify 

所以,试试这个:

 slapd_db_printlog -h /var/lib/ldap/ | less 

不知道如何阅读该文件,但你可以看看“最近”创build或修改的条目
ldapsearch "(|(createTimestamp>=20110927221035Z)(modifyTimestamp>=20110927221035Z))" dn creatorsName createTimestamp modifiersName modifyTimestamp

OpenLDAP可以使用syslog工具来logging许多事情。 不知道Fedora 14默认情况下(或在你的环境下)是否(或者有多冗长)。 (你可能已经检查过,所以可能不够。)

在链接失效之前,您可以在http://www.openldap.org/faq/data/cache/738.htmlfind更接近您所提问题的答案。 虽然这一切都似乎导致了Oracle文档,这是不足为奇的。