Recovery from Corrupted ODB

From MidasWiki
Jump to navigation Jump to search


How to recover from a corrupted ODB

  • Stop your front-ends, mlogger, mhttpd, etc.
  • Remove the shared memory associated to ODB buffer. Find the shared memory segment by doing
ls -l /dev/shm

then remove the segment that will be something like /dev/shm/*_test_ODB_SHM

  • Move the old ODB files. These will be in the location given by Exptab, e.g. ~/online
cd online
  • Restart ODB with larger size using odbedit e.g.
odbedit -s 100000000
  • Reload the last saved ODB dump you have (see save and reload the ODB). These dumps are typically called something like 'online/history/*.xml'.

So from odbedit you do something like

odbedit> load history/run00071.xml
  • Your ODB should now be fixed.

Note that sometimes it seems that you also need to remove the buffers associated with the system messages (called SYSMSG) as well as the buffers associated with the ODB.