centos5 下执行命令rpm -qa 提示如下错误:

rpmdb: Lock table is out of available locker entries

rpmdb: Unknown locker ID: 1045

error: db4 error(22) from db->close: 无效的参数

error: cannot open Packages index using db3 - 无法分配内存 (12)

error: cannot open Packages database in /var/lib/rpm

 

解决办法:

1) 备份 /var/lib/rpm :
tar cvzf rpmdb-backup.tar.gz /var/lib/rpm

2) 删除rpm使用的BDB数据库:
rm /var/lib/rpm/__db.00*

3) 重建 rpm 使用的数据库
rpm --rebuilddb