手元のサーバ(CentOS5)を久しぶりに弄っていて、"rpm -qa"とかしたら次のようなエラーが表示されました。
rpmdb: Lock table is out of available locker entries error: db4 error(22) from db->close: Invalid argument error: cannot open Packages index using db3 - Cannot allocate memory (12) error: cannot open Packages database in /var/lib/rpm
何がなにやらサッパリ分からない、見当すら付かない、ということで素直にGoogleで検索したところ、RPMのデータベース(BerkleyDB)のロックファイルが残ってしまっていた為、ということが分かりました。
例えば"rpm -qa"とかでだらだらと表示中に「もういいや」とC-cで強制終了したりとかすると発生しちゃうみたいです。
記事のとおり、
/var/lib/rpm/__db.001
みたいなファイルが幾つか出来ていましたので、削除後"rpm --rebuilddb"したらちゃんと動いてくれました。
他、こんな記事も見つかりましたのでメモ。