Recovery from Corrupted ODB
Jump to navigation
Jump to search
Links
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 mv .ODB.SHM .ODB.SHM.BAD
- 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.