Important database corrupted! Please help!
Hi, I've been running an application with Zope 1.10.2 for some months now, collecting important data. It's been stable and terrific. Unfortunately, a disk full error has caused corruption of the Data.bbb file. :-( :-( I need to recover it! The corruption is occuring at 508093 byes, but the full Data.bbb file is actually 16010912 bytes! Truncating the file at 508093 does allow Zope to start up, at least, but almost all of my data is gone. Help! Here's the error message: <!-- Traceback (innermost last): File /opt/zope/lib/python/ZPublisher/Publish.py, line 255, in publish_module File /opt/zope/lib/python/ZPublisher/Publish.py, line 125, in publish File /opt/zope/lib/python/ZPublisher/Publish.py, line 183, in get_module_info File lib/python/Main.py, line 103, in ? File lib/python/OFS/Application.py, line 319, in open_bobobase File lib/python/BoboPOS/PickleDictionary.py, line 159, in __init__ File lib/python/BoboPOS/SimpleDB.py, line 221, in __init__ File lib/python/BoboPOS/SimpleDB.py, line 287, in open File lib/python/BoboPOS/SimpleDB.py, line 1378, in read_index (Info: (508093, 369, 468594, 924500630.55, 2977, 2885)) ImportError: ('DatabaseError', 'Corrupted data record at 508093') --> -- ### Martin Dougiamas -- Internet Agent "...The Eighties, ### Centre for Educational Advancement the Nineties, ### http://cea.curtin.edu/staff/martin the Naughties."
At 9:42 pm +0800 12/9/99, Martin Dougiamas wrote:
Hi,
I've been running an application with Zope 1.10.2 for some months now, collecting important data. It's been stable and terrific.
Unfortunately, a disk full error has caused corruption of the Data.bbb file. :-( :-( I need to recover it!
The corruption is occuring at 508093 byes, but the full Data.bbb file is actually 16010912 bytes! Truncating the file at 508093 does allow Zope to start up, at least, but almost all of my data is gone.
I don't know if this will help, but you can use the bbb.py program to do some things such as 'undo'. This from the bbb.py file; undo -- Output a transaction summary that shows the position of each transaction. This is useful for undoing transactions from the OS command line when some programming error has caused objects to get to a state where Zope can't start up. Eventually, there will be an undo utility for undoing individual transactions. For now, you can simply truncate the file at the position of a problem transaction to return the database to the state it was in before the transaction It's possible (though unlikely) that using the -f command (convert to ZODB 3 format) *may* be more lenient about database corruption. Unfortunately, I have no idea what else you can do... sorry, tone. ------ Dr Tony McDonald, FMCC, Networked Learning Environments Project http://nle.ncl.ac.uk/ The Medical School, Newcastle University Tel: +44 191 222 5888 Fingerprint: 3450 876D FA41 B926 D3DD F8C3 F2D0 C3B9 8B38 18A2
participants (2)
-
Martin Dougiamas -
Tony McDonald