Berkeley DBを使って作ったアプリが、なんか調子が悪いということで、ここ数日ハマってました。テストデータを投入しても再現しないので、データベースファイルを疑って調査。 db_verifyコマンドでデータベースファイルを調べてみるとエラーが出る。 $ db_verify data db_verify: Page 0: page 3 encountered a second time on free list db_verify: DB->verify: data: DB_VERIFY_BAD: Database verification failed 復旧させるには、db_dumpでダンプして、db_loadでリストア。 $ mv data data.old $ db_dump data.old | db_load data Berkeley DBと言えばSubversionとかMovable Typeなどでも使われており、復旧方法を覚えておけば今後も助けられる機会がありそうだということで、メモでした。