Centos Rpmdb已损坏

Centos Rpmdb已损坏,centos,openstack,rpm,yum,berkeley-db,Centos,Openstack,Rpm,Yum,Berkeley Db,尝试使用yum部署包时出错: 2016-07-07 14:14:31,296 - ERROR - error: rpmdb: BDB0113 Thread/process 6723/140691298633536 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, ru

尝试使用yum部署包时出错:

2016-07-07 14:14:31,296 - ERROR - error: rpmdb: BDB0113 Thread/process     6723/140691298633536 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed
我可以通过运行以下命令来解决此问题:

rm -f /var/lib/rpm/__* && rpm --rebuilddb 
sudo yum-complete-transaction --cleanup-only

但错误又再次出现,似乎是断断续续的。该操作系统是CentOS Linux 7.2.1511版(核心版),运行在Openstack kilo环境中<代码>/var/log/yum.log未引用该错误。这可能是什么原因?

您的内存/磁盘可能出现故障:rpm中没有“db5”(应该是“db3”),当数据库不一致时,会调用dbenv->failchk DB_RUNRECOVERY。检查/var/log/messages中的硬件问题。

我遇到了这样的问题。这是一个bug,此链接将帮助您,也帮助了我很多: