DB_RUNRECOVERY gets returned when there is a suspected issue in the database. You need to run recovery. Chap 11 of BDB Programmers Reference covers the procedures for running recovery. In this case, I would suggest running the db_recover utility. When you run the utility you should ensure that there are no processes connected to the environment and it is closed.
possible causes -- memory errors, disk errors, hw errors, application errors, power failures, cpu errors, human errors There are many paths in the code that can throw this particular error. To figure out the exact trigger for your case, this is something that Oracle support handles. Have you purchased a support contract for BDB?